git 설치 안내 사항 알아보기

Jimin K·2024년 1월 18일
0

git을 처음 컴퓨터에 설치하고자 할 때, 다양한 경로 중 아래의 사이트를 통해서 설치를 진행하는 경우가 많을 것이다.

그렇다면 셋업 파일을 다운로드 하고, 런치 하기 까지의 과정 중에 만나는 다양한 옵션과 항목의 내용이 무엇인지 가장 최신 git 기준으로 (24년 1월) 자세히 알아보고자 한다.






23년1월 기준, _**32-bit git for windows setup**_을 눌러 파일을 다운받으면, _32비트 보다 64 비트의 설치를 추천_하는 안내 문구가 뜬다.

그래서 아래와 같은 64 비트 윈도우 파일을 설치의 과정에 대해서 알아보자.

이를 클릭하면 다운로드가 진행되고, 아래와 같은 64 bit 의 git 파일이 다운된 것을 볼 수 있다.

이를 더블클릭 해 실행하면, 본격적인 git setup 안내가 진행된다.

이는 우리가 설치하려는 GNU의 저작권에 대한 라이선스의 내용과 복사, 배포, 수정권한에 대한 내용이다.

이에 대해서 동의하고 설치를 진행하고자 한다면 하단의 Next 버튼을 누르면 된다.

GNU General Public License(이하 GPL)은 1991년 6월에 제정된 버전 2로, 소프트웨어 특허 문제를 방지하기 위해 모든 특허가 모든 사용자에게 무료로 사용되거나 아예 라이선스가 없는 상태로 허가되어야 한다고 명시하고 있다. 이 외에도 프로그램의 배포에 관한 자세한 조건과 라이선스의 유지, 라이선스 위반에 대한 조항 등이 명시되어 있다.

select destination location

다음은 깃을 설치할 폴더 위치를 결정하는 곳이다.
만약 다른 곳에 설치를 원한다면 Browse... 버튼을 눌러 다른 곳을 탐색할 수 있다.
최소 320.9MB의 여유 용량이 있는 디스크가 필요하다.

select components

여러가지 다양한 컴포넌트 중에 어떤 컴포넌트를 설치하고 싶은지 묻고 있다. 체크 표시 항목은 기본 설정된 항목이다.


📌 첫 번째 Additional icons > On the Desktop은 데스크탑에 추가 git아이콘을 만들것인지를 묻는다.


📌 두 번째 windows explorer integration은 운영 체제의 파일 탐색기(Explorer)와 다른 프로그램 또는 기능을 통합하는 것을 의미한다. 폴더 선택 후 마우스 오른쪽 버튼 클릭 시 Git에 연결 시킬 수 있는 기능 제공한다.

그 하위의 open Git Bash here 옵션은 현재 탐색기 창의 경로에 해당하는 위치에서 Git Bash 셸을 열 수 있는 기능을 제공한다.

다른 하위의 옵션인 open Git GUI here은 현재 탐색기 창의 경로에 해당하는 위치에서 Git GUI(그래픽 사용자 인터페이스) 도구를 열 수 있는 기능을 제공한다.

Git GUI는 Git을 시각적으로 다룰 수 있게 해주는 그래픽 사용자 인터페이스 도구로, 코드의 변경 내용을 추적하고 변경 사항을 커밋하는 등의 Git 작업을 수행할 수 있도록 도와준다.


📌 세 번째 git LFS (large file support)는 말 그대로 대용량 파일의 지원을 의미한다.

git은 본래 작은 용량의 이진 파일 지원 중심으로 구성되어있다. 그런데 LFS 기능을 이용하면 영상파일 등 보다 대용량 파일을 업로드 할 수 있다.
공식 홈페이지에 따르면, LFS(Git Large File Storage)는 오디오 샘플, 비디오, 데이터 세트 및 그래픽과 같은 대용량 파일을 Git 내부의 텍스트 포인터로 대체하는 한편 파일 내용을 GitHub.com 또는 GitHub Enterprise와 같은 원격 서버에 저장한다. 상세 기능은 아래와 같다.

대용량 파일 관리: Git LFS는 대용량 파일을 따로 관리하고, 이 파일들에 대한 참조만을 Git 저장소에 저장합니다. 이를 통해 저장소 크기를 줄이고 Git의 성능을 향상시킬 수 있습니다.

속도 향상: Git LFS는 대용량 파일에 대한 변경 내용을 다룰 때 효율적으로 동작하므로, 큰 파일이 포함된 프로젝트의 작업 속도를 향상시킬 수 있습니다.

백업 용이성: Git LFS를 사용하면 대용량 파일이나 이진 파일을 따로 저장하고, 필요한 경우 이 파일들을 복원할 수 있습니다. 이는 파일 손상, 삭제 또는 재구성 시 백업과 복구에 도움을 줍니다.

확장성: Git LFS는 Git과 호환성이 있어 기존 Git 작업 흐름과 통합하기 용이합니다. Git 명령어와 함께 사용할 수 있어 사용자들이 기존의 Git 명령어를 그대로 사용하면서도 대용량 파일을 효과적으로 관리할 수 있습니다.

자세한 내용은 공식 홈페이지를 참고하길 바란다.


📌 네 번째 associate .git* configuration files with the default text editor은 Git 저장소의 설정 파일인 .gitconfig, .gitignore, .gitattributes 등과 같은 파일을 기본 텍스트 편집기와 연결하거나 연관시키는 작업을 맡는다.


📌 다섯 번째 associate .sh files to be run with bash 는 리눅스나 유닉스 계열의 운영 체제에서 쉘 스크립트 파일인 .sh 확장자를 Bash 쉘에서 실행하도록 설정함을 의미한다.


📌 여섯 번째 check daily for git for windows updates 는 Git for Windows의 업데이트를 매일 확인하도록 만드는 것이다.
Git for Windows는 주기적으로 업데이트가 되며, 새로운 버전에서는 보안 업데이트, 새로운 기능 추가, 버그 수정 등이 제공된다. 업데이트를 수동으로 확인하고 적용하는 대신, 매일 자동으로 확인하도록 설정할 수 있다.

하지만 개인적인 생각으로, 다른 프로젝트들을 진행함에 있어서 깃이 계속 업데이트 되는 것은 이에 맞추어 계속 다른 프로그램의 버전 또한 맞춰야 하기에 번거롭다고 생각된다.
때문에 기본 설정 항목에 이 항목이 체크되어있지 않은 것을 그대로 이어 설치하지 않는 것을 추천한다.


📌 일곱 번째 add a git bash profile to windows terminal 은 Windows Terminal에서 Git Bash 프로파일을 추가하는 것을 의미한다.
터미널 환경을 향상시켜 Git Bash를 더 쉽게 사용할 수 있게 한다.


📌 여덟 번재 scalar (git add-on to manage large-scale repositories) 은 Git의 대규모 저장소 관리를 개선하기 위한 확장 기능 중 하나로 대규모 저장소에서의 성능 및 작업 효율을 향상시키는 데 중점을 두었다. 상세 정보는 아래와 같다.

파일 시스템 메타데이터 캐시: Scalar는 대규모 저장소에서의 성능 향상을 위해 파일 시스템 메타데이터에 대한 캐싱을 수행합니다. 이를 통해 파일 및 디렉토리를 효과적으로 관리하고 Git 명령을 빠르게 수행할 수 있습니다.

병렬성 증가: Scalar는 병렬 처리를 통해 Git 명령의 처리 속도를 향상시킵니다. 특히 대규모 저장소에서 작업을 병렬로 처리함으로써 전반적인 성능을 향상시킬 수 있습니다.

가상 파일 시스템(Virtual File System): Scalar는 Git 저장소의 파일을 필요에 따라 가상으로 가져오고, 실제로 필요한 파일만 로컬에 복사하여 저장소의 크기를 줄이는 가상 파일 시스템을 제공합니다.

자동 업데이트: Scalar는 자동 업데이트 기능을 포함하여 새로운 기능이나 성능 향상을 포함하는 새로운 버전이 나올 때 손쉽게 업데이트할 수 있도록 지원합니다.

select start menu folder


프로그램의 단축경로 위치를 어디에 둘지 결정하는 단계이다.
기본 폴더는 Git이고, 원한다면 다른 경로를 찾을 수 있다.

choosing the default editor used by git


기본 편집기에 대해 설정하는 단계이다.

편집기의 종류는 아래의 이미지에 보이는 것을 비롯해 다양한데, 하나하나 그 특징에 대해서 간략히 알아보자면 아래와 같다.




📌 GNU Nano

기본적인 텍스트 편집 외에도, nano는 대화형 검색 및 바꾸기, 실행 취소/레도, 구문 색칠, 부드러운 스크롤, 자동 입력, 줄 바꿈 및 열 번호 이동, 기능 토글, 파일 잠금, 백업 파일 및 국제화 지원과 같은 많은 추가 기능을 지원한다.
유닉스 계열의 편집기로 편집기 화면은 아래와 같은 모습이다.

나노 이미지 출처




📌 Vim

어떤 종류의 텍스트라도 매우 효율적으로 만들고 변경할 수 있도록 만들어진 고도로 구성 가능한 텍스트 편집기이다. Vim은 대부분의 유닉스 시스템과 애플 OS X에 "vi"로 포함되어 있다. 다시말해, MacOs 같은 유닉스 계열 운영체제의 기본 텍스트 에디터이다.
하지만 git에서는 vim보다 가능한 최신 GUI로 바꾸어 설치할 것을 권장한다.




📌 Notepad++

여러 언어를 지원하는 무료 소스 코드 편집기 및 메모장이다. MS 윈도우 환경에서 실행되는 그 사용은 GNU General Public License에 의해 관리된다.




📌 Visual Studio Code

마이크로소프트가 마이크로소프트 윈도우, macOS, 리눅스용으로 개발한 소스 코드 편집기이다. 다양한 설치 파일을 통해서 확장시킬 수 있다.
필자가 가장 추천하는 편집기 이다.




📌 Sublime Text

파이썬 API용으로 작성된 사유 크로스 플랫폼 소스 코드 편집기이다. 수많은 프로그래밍 언어와 마크업 언어를 네이티브로 지원하며 플러그인을 사용하여 사용자에 의해 기능을 확장할 수 있다.




📌 Atom

GitHub에서 만든 텍스트 에디터로, 다양한 프로그래밍 언어의 편집기로 사용할 수 있도록 고안된 도구이다. Sublime Text와 Textmate를 본땄다.
하지만 22년 12월 부로 Atom이라는 소프트웨어 및 Atom 프로젝트가 소속된 조직을 공식적으로 종료했으므로 새로운 프로젝트를 시작하는 단계라면 선택을 지양하기를 추천한다.




📌 VSCodium

VS Code의 무료이고 오픈 소스인 소프트웨어 바이너리이다.
기반이 VSCode이다.




📌 Notepad
윈도우 내장 문서 편집기 메모장을 의미한다.

Adjusting the name of the initial branch in new repositories


새 저장소의 첫 번째 브랜치 네임을 설정한다.
기본 설정 값은 첫 번째 라디오버튼인데 master로 진행함을 의미한다.
하지만 깃의 브랜치가 master의 오래된 이름에서 main으로 바꿀 것을 추진한지 몇년 째이며, 필자의 경우 master이름을 이용하다가 다른 최신 프로그램과 충돌을 겪은 적이 있으므로 두 번째 라디오버튼을 클릭할 것을 추천한다.
더 많은 이야기는 여기를 추천한다.

Adjusting your path environment

명령 프롬프트나 다른 커맨드 라인 도구에서 git 명령을 사용할 수 있도록 환경변수를 설정하는 부분이다.

Choosing the SSH executable


git에서 ssh를 사용해 작업할 때 git이 가지고 있는 openSSH를 사용할 것인지, 외부의 openSSH를 사용할 것인지를 결정한다.

SSH는 원격 서버와의 안전한 통신을 위해 사용되는 프로토콜로, 다양한 SSH 클라이언트가 있다.

choosing HTTPS transport backend


git에서 HTTPS로 작업할 때 OpenSSL리 가지고 있는 루트 인증서를 사용할 것인지, 아니면 window의 secure channel의 루트 인증서를 사용할 것인지 결정한다.
다만, 기업 등에서 git 레포 서버를 운영하고 있는 경우 두 번째를 선택해야 한다.

comfiguring the line ending conversions

레포지토리에서 체크아웃, 커밋 시 줄바꿈에 대한 옵션이다.

CRLF (Carriage Return Line Feed):
CRLF는 줄바꿈을 표현하기 위해 Carriage Return (CR)와 Line Feed (LF) 두 문자를 사용하는 방식이다.
CR은 현재 커서를 현재 라인의 처음으로 이동시키는 제어 문자이고, LF는 다음 라인으로 이동시키는 제어 문자이다.

LF (Line Feed):
LF는 줄바꿈을 표현하기 위해 Line Feed (LF) 문자 하나만 사용하는 방식이다.
주로 Unix 및 Linux 운영 체제에서 텍스트 파일의 줄바꿈에 사용된다.
Git 등의 버전 관리 시스템에서는 리눅스 계열의 스타일을 따르는 것이 일반적이다.

CRLF는 주로 Windows에서 사용되고, LF는 주로 Unix/Linux에서 사용된다.

configuring the terminal emulator to use with Git Bash

깃에서 사용할 콘솔을 선택하는데, minTTY을 사용할 것인지, 아니면 window의 표준 콘솔을 사용할 것인지 선택하는 과정이다.

MinTTY는 Windows 운영 체제에서 사용되는 터미널 에뮬레이터이다. MinTTY는 주로 Git Bash 및 Cygwin과 함께 사용되며, 터미널 환경을 제공하여 Unix/Linux 스타일의 명령어와 유틸리티를 Windows에서 사용할 수 있게 해준다.

choose the default behavior of 'git pull'

git pull 명령어는 원격 저장소에서 최신 변경 사항을 가져오고, 로컬 브랜치에 병합하는 데 사용된다.

Fast-forward:
가장 간단하면서 기본적인 방법이다.
로컬 브랜치가 원격 브랜치를 추월하게 되어 단순히 앞으로 이동하는 것을 의미한다.
이 경우에는 새로운 커밋이 생성되지 않고, 기존 커밋들이 그대로 유지된다.

Merge:
변경 사항을 가져온 후에 로컬 브랜치에 새로운 병합 커밋이 생성된다.
이 방법은 변경 이력을 그대로 보존하면서 병합을 수행한다.

Rebase:
변경 사항을 가져온 후에 로컬 브랜치의 커밋들을 변경하여, 원격 브랜치의 변경 사항이 로컬 브랜치의 최상단에 쌓이도록 만든다.
이 방법은 커밋 이력을 깔끔하게 유지할 수 있지만, 팀 내에서 공유되는 브랜치에 사용할 때 주의가 필요하다.

Only Ever Fast-Forward:
이 옵션은 원격 브랜치를 로컬 브랜치에 항상 fast-forward 방식으로만 병합하도록 설정하는 것이다.
이 경우 다른 방식의 병합은 허용되지 않는다.

choose a credential helper

git에 접속할 때 인증 보조 기능의 사용 여부를 선택하는 내용이다.
이를 설정해두면 2단계 인증의 번거로움을 덜어준다.

configuring extra options

추가 옵션에 대한 내용이다.

Enable file system caching:
이 옵션을 활성화하면 파일 시스템 캐싱이 가능해진다. 즉, 특정 작업에 필요한 파일 시스템 데이터가 대량으로 읽혀져서 메모리에 캐시된다.
특히 대규모 저장소에서 작업할 때 적절하다.

Enable symbolic links:
이 옵션을 활성화하면 심볼릭 링크 사용이 허용된다. 다만, 이 옵션을 활성화하려면 시스템에서 "SeCreateSymbolicLink" 권한이 필요하다. 이미 존재하는 저장소에는 영향을 주지 않는다. 심볼릭 링크를 사용할 수 있다.

configuring experimental options

git bash창에서 node, python 등의 네이티브 콘솔 프로그램 실행에 대한 옵션과
git 명령어에서 built-in file system watcher를 사용할지 여부를 선택한다.

installing

마침내, 완료

그리고 마침내 설치 완료이다.








profile
아둥바둥

0개의 댓글