::: IT인터넷 :::

윈도우 환경에서 git-scm 설정하기

곰탱이푸우 2021. 7. 12. 08:20

우분투 환경에서는 sudo apt install git 명령만 실행하면 git 설치가 쉽게 진행되지만, 윈도우에서는 별도 설치 패키지가 필요하다.

일반적으로 윈도우 환경에서 가장 유명한 것은 git-scm으로 알려져 있어, 해당 패키지를 통해 git을 설치한다.

 

git-scm 다운로드

git-scm 사이트에 접속한다.

 

Git

 

git-scm.com

 

우측 하단의 'Download 2.32.0 for Windows'를 클릭하고 설치 파일을 다운로드한다. 현재 2.32.0 버전이 최신 버전이다.

 

 

git-scm 설치

다운로드한 설치 파일을 실행한다. GNU GPL 라이선스 동의 페이지에서 Next를 클릭한다.

 

설치 경로를 지정하고 Next를 클릭한다. 보통 기본 경로를 사용한다.

 

설치 구성 요소를 선택한다.

  • On the Desktop- 바탕화면에 바로가기를 생성한다.
  • (NEW!) Add a Git Bash Profile to Windows Terminal - 윈도우 터미널 (cmd가 아니다)에 Git Bash 프로파일을 추가한다.
  • 나머지 항목은 체크 상태를 유지한다.

 

 

시작 항목에 등록 될 그룹 이름을 지정한다. 기본 설정 값을 사용한다.

 

Git의 기본 편집기를 선택한다.

  • Vim, Notepad++, Visual Studio Code, Sublime, Atom, VS Codium, Notepad, Wordpad 등을 지원한다.
  • 개인적으로 우분투는 gedit, 윈도우는 Notepad++을 주로 사용하므로 Notepad++을 선택했다.

 

 

git-scm 설치 옵션 (기본값 사용) 

아래 설정들은 모두 기본 값을 사용한다.

 

git init 명령 수행시 생성하는 초기 브랜치 이름을 결정한다. Let Git decide를 선택했다.

  • Let Git decide - Git의 기본 정책을 따른다. 최초 브랜치는 master로 생성된다.
  • Override the default name for new repositories - 최초 브랜치를 사용자가 지정한 별도의 이름으로 생성한다.

 

환경 변수 등록이다. Git from the command line and also from 3rd-party software를 선택했다.

  • Use Git from Git Bash only - Git Bash에서만 git 명령 허용
  • Git from the command line and also from 3rd-party software - Git Bash와 cmd, PowerShell에서 git 명령 허용
  • Use Git and optional Unix tools from the Command Prompt - cmd에서 git 외에 Unix 도구 명령 허용

git을 설치하면 유닉스의 bash 명령어들을 사용할 수 있는데, 세번째 옵션을 선택하면 Git Bash 뿐 아니라 cmd에서도 가능하다.

 

HTTPS 통신에 사용하는 인증서 라이브러리를 선택한다. Use the OpenSSL library를 선택했다.

  • Use the OpenSSL library - OpenSSL 라이브러리를 사용한다.
  • Use the native Windows Secure Channel library - 윈도우 보안 채널 라이브러리를 사용한다.

윈도우 라이브러리는 추가 설정이 필요한 것으로 알려져 있다. 일반적으로 OpenSSL을 사용한다.

 

 

줄 바꿈 옵션을 선택한다. 첫번째 옵션을 선택했다.

  • 윈도우는 CR (Carrage Return)과 LF (Line Feed) 형태로 되어 있다. (\r\n)
  • 유닉스와 리눅스는 CR이 없고, LF만 있다. (\n)
  • 이 차이를 보정해주지 않으면 윈도우와 다른 운영체제 사이에 줄바꿈에서 차이가 발생한다.

첫번째 옵션은 윈도우로 코드를 가져올때 CRLF (윈도우) 형태로 변환하고, 커밋할때 LF (유닉스) 형태로 변환해서 전송한다.

 

터미널 에뮬레이터를 선택한다. Use MinTTY를 선택했다.

  • MinTTY는 Git Bash 터미널을 의미한다.
  • Windows' default console window는 cmd (명령 프롬프트)를 의미한다.

MinTTY를 선택해도 cmd에서 git 명령 사용이 가능하다.

 

최신 코드로 업데이트하는 git pull 명령 했을 때의 코드 병합 (Merge) 정책을 결정한다. Default를 사용한다.

  • Default는 fast-forward or merge이다.
  • Rebase는 merge와 유사하지만 base를 다시 설정한다.
  • Only ever fast-forward는 fast-forward만 수행한다.

 

참고사항
이 부분은 Git에 대한 기본적인 이해가 있어야 이해하기 쉽다.
개발 부서에서 3년 동안 있으면서 1년은 SVN을 사용하고 2년은 Git을 사용했는데, Git의 용어들과 개념들을 이해하는게 쉽지 않았다. 사실 같은 팀 개발자들도 경험 많은 선배 몇 명을 제외하고, 제대로 이해하고 쓰는 사람이 거의 없었다.
개인적으로 아래 책으로 공부했다. 개념 설명을 아주 쉽게 풀어놓아서 비개발자도 쉽게 이해할 수 있다. (내돈내산)
 

팀 개발을 위한 Git, GitHub 시작하기 - YES24

개발자, 디자이너, 기획자 다함께 깃·깃허브 입문이 책은 시나리오를 곁들인 실습으로 시작해서 깃과 깃허브를 처음 접하는 사람 또는 좀 더 깊은 난이도에서 깃과 깃허브를 다루고 싶은 개발

www.yes24.com

 

 

git 원격 저장소에 접근할 인증 도구를 선택한다. 기본값인 Git Credential Manager Core를 사용한다.

  • Git Credential Manager Core - Git에서 제공하는 크로스플랫폼을 지원하는 최신 버전의 기본 인증 도구이다.
  • Git Credential manager - Git에서 제공하는 윈도우 전용 인증 도구로, DEPRECATED (지원 중단, 폐기) 되었다.
  • None - 사용하지 않음

 

기타 옵션 설정이다. 변경 없이 기본 설정을 사용한다.

  • Enable file system caching - 파일 시스템을 자주 사용하는 파일은 메모리에 유지하여 속도 향상
  • Enable symbolic links - 심볼릭 링크 허용 옵션인데, 잘 알지 못하고 남용하면 꼬이기 쉽다. 패스.

 

실험적인 옵션 선택인데 선택하지 않았다. git의 신규 기능을 체험해 볼 수 있는 옵션이다.

 

 

git-scm 파일 설치

이제 Next 버튼이 Install로 변경되었다. 드디어 설치 시작이다.

설치하는 파일이 많아 시간이 좀 걸린다. 윈도우에 Bash 쉘을 설치하는 것이나 마찬가지다.

 

설치가 완료되었다. Launch Git Bash를 선택하면 Git Bash를 실행할 수 있다. 그러나 하지 않았다.

 

 

git-scm 실행 

cmd 창을 띄워서 git 명령을 실행하면 정상적으로 실행된다.

 

gitlab의 코드를 clone한다. 아까 선택한 Git Credential Manager가 실행되면서 계정 정보 입력을 요구한다.

 

계정 정보 인증에 성공하면 코드 복제가 진행된다. 정상적으로 폴더가 생성된 것도 확인된다.

 

브랜치 전환, 커밋, 푸쉬 등은 아래 포스팅을 참고한다.

 

gitlab에서 소스코드 작업하기 (clone, checkout, commit, push)

project와 branch까지 만들었으면 코드 개발을 위해 실제 개발 환경에 코드 저장소를 clone 해야 한다. gitlab에서 project 와 branch 생성하는 것은 아래 포스팅을 참고한다. gitlab에서 group, project 생성하..

www.bearpooh.com