2025. 5. 4. 04:01ㆍOther Skills/Git
VSCode 설치
아래 링크 들어가셔서 본인이 사용하시는 운영체제를 선택하셔서 다운로드해주세요.
https://code.visualstudio.com/download
Download Visual Studio Code - Mac, Linux, Windows
Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio Code to experience a redefined code editor, optimized for building and debugging modern web and cloud applications.
code.visualstudio.com
1. VSCode 설치 파일을 열어주세요.
2. 사용권 계약
- VSCode 설치 파일을 열어서 `동의합니다`를 선택한 뒤, [다음]을 눌러주세요.
3. 추가 작업 선택
- 추가 작업 선택은 자율적으로 선택하시고 [다음] 누르시면 됩니다.
`Code(으)로 열기`
파일 탐색기에서 우클릭해서`Code(으)로 열기`를 선택하면 해당 파일을 바로 VScode에서 작업할 수 있습니다.
저는 이 기능이 생각보다 편리해서 사용 중입니다.
4. 설치 준비 완료
- [설치]를 클릭하여 설치해 주세요.
git 설치
아래 링크 들어가셔서 본인이 사용하시는 운영체제를 선택하셔서 다운로드해주세요.
Git - Downloads
Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. Latest source Release 2.49.0 Release Notes (2025-03-14) Download Source Code GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but ther
git-scm.com
1. git 설치 파일을 열어주세요.
제가 설치한 옵션대로 작성했지만, 각 옵션에 대한 설명도 작성했기 때문에 자율적으로 본인이 원하시는 옵션을 선택하시면 됩니다.
2. 하단에 `Only show new options`가 선택되어 있는 상태라면 체크 해제하고 Next를 눌러주세요. (만약 옵션이 상관없으시다면 그냥 Install을 눌러서 설치하시면 됩니다.)
3. Git을 설치할 때 함께 설치할 다양한 기능 및 컴포넌트 선택
- 기본 세팅 유지한 채로 Next 눌러주세요.
4. Git이 커밋 메시지를 작성하거나 충돌을 해결할 때 사용할 기본 텍스트 편집기 선택
- `Use Visual Studio Code as Git's default editor`를 선택하고 Next를 눌러주세요.
Use Visual Studio Code as Git's default editor vs. Use Visual Studio Code Insiders as Git's default editor
특징 | Use Visual Studio Code as Git's default editor | Use Visual Studio Code Insiders as Git's default editor |
VSCode 버전 | 설치된 VSCode 버전 (안정화된 일반 버전) |
VSCode Insiders 버전 (최신 개발자 빌드 (Insiders 버전)) |
안정성 | 매우 안정적 | 일반 버전보다 불안정할 수 있음. |
기능 | 검증된 기능 위주 | 최신 기능 미리 사용 가능 |
업데이트 주기 | 비교적 느림. | 매일 업데이트 |
주요 사용 목적 | 일반적인 개발 작업 | 최신 기능 테스트 및 개발 참여 |
GitHub 연동 | 영향 없음. (VSCode 자체 기능으로 연동) |
|
추천 대상 | 안정적인 사용을 선호하는 일반 사용자 | 최신 기능에 관심이 많고, 테스트에 적극적인 사용자 |
Insiders 버전
- 소프트웨어 개발에서 정식으로 출시하기 전에 새로운 기능이나 변경 사항을 미리 사용해 볼 수 있도록 제공하는 특별한 빌드를 의미합니다.
- 마치 내부자들에게 미리 공개된다는 의미로 Insiders라는 이름이 붙었습니다.
- 쉽게 말하면, 아직 완전히 다듬어지지 않은, 최신 기능들을 미리 사용해 볼 수 있는 시험판 VSCode라고 생각하시면 됩니다.
5. 새 Git 저장소를 만들 때 초기 branch 이름을 어떻게 할지 설정
- `Override the default branch name for new repositories` 선택 후 main으로 유지하신 상태로 Next를 눌러주세요.
특징 | Let Git decide (Git이 결정하게 함.) |
Override the default branch name for new repositories (새 저장소의 기본 branch 이름 변경, 즉 사용자 지정) |
초기 branch 이름 | master (현재 기본값) | 사용자가 입력한 이름 ex) main, trunk |
최신 트렌드 반영 | 비교적 덜 반영 | 'main' 등 최신 트렌드에 맞는 이름으로 설정 가능 |
일관성 (다른 저장소) |
'master'를 사용하는 경우에 유리함. | 'main'을 사용하는 경우에 유리함. |
Git 기본값 변경 영향 | Git 프로그램 업데이트 후 'main' 등 다른 이름으로 바뀔 수 있음. | 영향 없음 사용자가 설정한 이름 유지 ('main' 등) |
추천 대상 | 'master'에 익숙한 사용자 | 새로운 프로젝트, 최신 트렌드를 따르고 싶은 사용자 |
6. Git 사용 범위 설정
- `Git from the command line and also from 3rd-party software`를 선택하시고 Next를 눌러주세요.
특징 | Use Git from Git Bash only (Git Bash 전용) |
Git from the command line and also from 3rd-party software (명령 프롬프트 및 3rd-party 소프트웨어에서 Git 사용) |
User Git and optional Unix tools from the Command Prompt (명령 프롬프트에서 Git 및 선택적 Unix 도구 사용) |
PATH 환경 변수 수정 | 수정 안 함. | 최소한의 Git 래퍼 추가 | Git 및 Unix 도구 경로 추가 (기존 Windows 도구를 덮어쓸 수 있음.) |
Git 명령 줄 도구 사용 가능 환경 | Git Bash에서만 가능 | Git Bash, 명령 프롬프트, Windows PowerShell 및 PATH를 통해 Git을 찾는 모든 3rd-party 소프트웨어 | 명령 프롬프트, Git Bash, Windows PowerShell 및 PATH를 통해 Git을 찾는 모든 3rd-party 소프트웨어 |
Unix 도구 사용 가능여부 | 불가능 | 선택적인 Unix 도구 사용 불가 | `find`, `sort` 등 선택적인 Unix 도구 사용 가능 (주의 필요) |
권장 여부 | 가장 안전한 선택 | 권장 | 숙련된 사용자에게 권장 (기존 Windows 도구와의 충돌 가능성 인지 필요) |
환경 변수 관리 용이성 | 높음. (변경 없음.) | 중간 (최소한의 변경) | 낮음. (많은 경로 추가, 충돌 가능성) |
git 명령 줄 도구
- 마치 게임 캐릭터에게 앞으로 가라는 명령을 하는 것처럼, Git에게 작업을 지시하는 텍스트 명령어라고 생각하시면 됩니다.
- 명령어 예시:
- `git clone [주소]`: 해당 인터넷 주소에 있는 Git 저장소를 내 컴퓨터로 복사해 줘.
- `git add [파일 이름]`: 이 파일은 내가 바꾼 내용에 포함시켜 줘.
- `git commit -m '수정 내용 요약'`: 지금까지 변경한 내용을 '수정 내용 요약'이라고 기록해 줘.
- `git push origin main`: 내 컴퓨터에 기록한 내용을 'origin'이라는 곳의 'main' 브랜치로 올려 보내줘.
- 즉, Git 명령 줄 도구는 이런 명령어들을 명령 프롬프트나 Git Bash라는 검은색 화면에 입력해서 Git을 사용하는 것입니다.
3rd-party 소프트웨어
- Git을 만든 회사나 운영체제(ex. Windows)를 만든 회사 외의 다른 회사나 개인이 만든 소프트웨어입니다.
- 쉽게 말해, 제3자가 만든 프로그램이라고 생각하시면 됩니다.
- 1st-party (자사): Git 자체 또는 운영체제 회사에서 만든 소프트웨어 (예: Windows의 명령 프롬프트)
- 2nd-party (상대방): 직접적인 협력 관계에 있는 회사에서 만든 소프트웨어 (흔히 쓰이는 표현은 아님.)
- 3rd-party (제3자): 위 두 경우를 제외한 다른 모든 회사나 개인이 만든 소프트웨어
- Git과 관련된 3rd-party 소프트웨어 예시:
- GUI 클라이언트: SourceTree, GitKraken 등 (Git 명령어를 그래픽 인터페이스로 쉽게 사용할 수 있도록 도와주는 프로그램)
- 협업 도구: GitHub Desktop, GitLab Desktop 등 (Git 저장소 관리 및 협업 기능을 제공하는 프로그램)
- IDE 통합 도구: Visual Studio Code, IntelliJ IDEA 등 (개발 환경에 Git 기능을 내장하여 편리하게 사용할 수 있도록 해주는 플러그인 또는 확장 기능)
- 자동화 도구: Jenkins, Travis CI 등 (소프트웨어 빌드, 테스트, 배포 과정을 자동화할 때 Git 저장소를 활용하는 도구)
- `Git from the command line and also from 3rd-party software` 옵션을 선택하면, 다른 회사에서 만든 다양한 Git 관련 프로그램들도 본인 컴퓨터에 설치된 Git을 문제없이 사용할 수 있게 됩니다.
- Git이 설치될 때 필요한 기본적인 연결 설정을 해주므로, 3rd-party 소프트웨어가 Git의 위치를 자동으로 찾아서 연동할 수 있습니다.
래퍼(Wrapper)
- 어떤 기능을 감싸서 더 편리하게 사용하거나 특정 목적에 맞게 기능을 덧붙인 코드를 의미합니다.
- 원래 Git은 Git Bash에서 가장 잘 작동하도록 만들어졌는데, 명령 프롬프트에서도 Git을 쓰고 싶다면 Git이 명령 프롬프트에서도 잘 작동하도록 포장지를 씌워줘야 합니다. 이 포장지가 바로 래퍼(Wrapper)입니다.
최소한의 Git 래퍼의 의미
- 마치 택배 상자에서 해당 내용물만 포장하는 것처럼 명령어를 실행하는 데 필요한 가장 기본적인 포장지만 씌우는 겁니다.
- 이로 인해 명령 프롬프트에서도 `git clone`, `git commit` 같은 기본적인 Git 명령어를 쓸 수 있게 됩니다.
Unix 도구
- Unix는 아주 오래전에 만들어진 운영체제입니다.
- 마치 옛날에 쓰던 연장 도구들처럼 오래전부터 유용하게 쓰이던 작은 도구들이 많습니다.
- 예시:
- `find`: 특정한 이름의 파일을 컴퓨터에서 찾아줘.
- `sort`: 텍스트 파일을 순서대로 정리해 줘.
- `grep`: 텍스트 파일에서 특정 단어가 들어간 줄만 보여줘.
7. SSH 실행 파일 선택
- `Use bundled OpenSSH` 선택 후 Next를 눌러주세요.
특징 | Use bundled OpenSSH | Use external OpenSSH |
OpenSSH | Git에 포함된 'ssh.exe' 사용 | 시스템 PATH에서 찾은 외부 'ssh.exe' 사용 |
설치 | Git 설치 시 함께 설치됨. | 별도로 설치해야 함. |
PATH 환경 변수 | Git 설치 시 관련 경로 설정 | 사용자가 직접 외부 OpenSSH 경로를 PATH에 등록해야 함. |
호환성 | Git과 호환성 보장 | 사용자 환경에 따라 호환성 문제가 발생할 수 있음. |
업데이트 | Git 업데이트 시 함께 업데이트됨. | 사용자가 별도로 업데이트해야 함. |
간편성 | 간편함. (별도 설치 불필요) | 사용자가 직접 관리해야 하므로 번거로울 수 있음. |
권장 여부 | 권장 (대부분의 경우) | 시스템에 이미 OpenSSH가 설치되어 있고 이를 사용하고 싶은 경우 |
8. HTTPS 전송 백엔드 선택
- `Use the OpenSSL library` 선택 후 Next를 눌러주세요.
- `Use the OpenSSL library` 선택 후 Next를 눌러주세요.

특징 | Use the OpenSSL library | Use the native Windows Secure Channel library |
SSL/TLS 라이브러리 | OpenSSL 라이브러리 사용 | Windows Secure Channel 라이브러리 사용 |
인증서 검증 | 'ca-bundle.crt' 파일 사용 | Windows 인증서 저장소 사용 |
기업 내부 인증서 | 별도 설정 필요 | Active Directory Domain Services 등을 통해 배포된 기업 내부 Root CA 인증서 사용 용이 |
호환성 | 다양한 환경에서 높은 호환성 | Windows 환경에 최적화 |
설정 | 일반적으로 별도 설정 불필요 | Windows 시스템 설정을 따름 |
권장 여부 | 권장 (높은 호환성) | Windows 환경에서 기업 내부 인증서를 사용하는 경우 |
10. 줄 바꿈(Line Ending) 변환 설정
- `Checkout Windows-style, commit Unix-style line endings` 선택 후 Next를 눌러주세요.
특징 | Checkout Windows-style, commit Unix-style line endings | Checkout as-is, commit Unix-style line endings | Checkout as-is, >commit as-is |
Checkout 시 | LF → CRLF (Windows 스타일) | 변경 없음 (LF 유지) | 변경 없음. (저장소 스타일 유지) |
Commit 시 | CRLF → LF (Unix 스타일) | CRLF → LF (Unix 스타일) | 변경 없음. (저장소 스타일 유지) |
cross-platform 프로젝트 | 권장 (Windows) | 권장 (Unix/macOS) | 권장 안 함. (잠재적 문제 발생) |
core.autocrlf 설정 | true | input | false |
설명 | Windows 사용자를 위해 checkout 시 Windows 스타일로 자동 변환, commit 시 Unix 스타일로 저장 | checkout 시 변경 없이 유지, commit 시 Unix 스타일로 저장 (Unix/macOS 사용자에게 적합) |
checkout 및 commit 시 어떠한 자동 변환도 수행하지 않음. (cross-platform 협업 시 문제 발생 가능성 높음) |
11. Git Bash 터미널 에뮬레이터 설정
- `Use MinTTY (the default terminal of MSYS2)` 선택 후 Next를 눌러주세요.
특징 | Use MinTTY (the default terminal of MSYS2) | Use Windows' default console window |
터미널 에뮬레이터 | MinTTY 사용 | Windows 기본 콘솔 창 (cmd.exe) 사용 |
창 크기 조절 | 자유롭게 조절 가능 | Windows 10 이전 버전에서는 크기 조절 제한적 |
텍스트 선택 | 비직사각형 선택 가능 | 직사각형 선택만 가능 |
유니코드 글꼴 | 기본 지원 | 유니코드 글꼴 설정 필요 (특히 비-ASCII 문자 표시 위해) |
Windows 콘솔 프로그램 호환성 | winpty 를 통해 실행해야 제대로 작동 |
비교적 잘 작동 (interactive Python, node.js 등) |
스크롤 백 | 충분한 스크롤 백 제공 | 기본 스크롤 백 용량 제한적, 설정 필요 |
권장 여부 | 권장 (더 많은 기능과 편리성) | Windows 기본 환경에 익숙하거나 특정 호환성 문제 있을 경우 |
12. `git pull` 시 원격 변경 사항을 로컬 브랜치에 병합하는 방식 선택
- `Fast-forward or merge` 선택 후 Next를 눌러주세요.
특징 | Fast-forward or merge | Rebase | Only ever fast-forward |
동작 방식 | 가능하면 현재 브랜치를 가져온 브랜치로 fast-forward, 불가능하면 merge 커밋 생성 | 현재 브랜치를 가져온 브랜치 위에 rebase. 로컬 커밋이 없으면 fast-forward와 동일 | 가져온 브랜치로 fast-forward만 시도. 불가능하면 실패 (`git pull --ff-only`와 동일) |
커밋 기록 | merge 커밋으로 인해 기록이 분기될 수 있음. | 커밋 기록을 선형으로 유지 | 커밋 기록을 선형으로 유지 (fast-forward만 가능) |
충돌 가능성 | merge 시 충돌 발생 가능성 있음 | rebase 시 충돌 발생 가능성 있음. (과거 커밋 수정) |
충돌 가능성 적음 (fast-forward만 시도) |
기본 동작 | 권장 (대부분의 상황에서 유연함.) | 선호하는 경우 | 안전하지만 업데이트 실패 잦음. |
13. Git 저장소 접근 시 사용자 인증 정보 관리 방식 선택
- `Git Credential Manager` 선택 후 Next를 눌러주세요.
특징 | Git Credential Manager | None |
인증 정보 저장 | Git 작업을 위해 입력한 사용자 이름과 비밀번호 (또는 토큰)를 안전하게 저장하여 매번 입력할 필요가 없도록 함. | 사용자 인증 정보를 저장하지 않음. |
편의성 | 높음. (매번 로그인 불필요) | 낮음. (매번 로그인 필요) |
보안 | 운영체제에서 제공하는 안전한 방식으로 인증 정보를 관리 | 인증 정보를 저장하지 않으므로 상대적으로 안전할 수 있지만, 매번 입력해야 하는 번거로움 존재 |
지원 환경 | 다양한 Git 호스팅 서비스 (GitHub, GitLab, Azure DevOps 등) 지원 | 모든 환경 |
권장 여부 | 권장 (편리하고 안전한 인증 관리) | 보안에 민감하거나 일시적으로만 작업하는 경우 |
14. Git 추가 기능 설정
- `Enable file system caching`만 선택 후 Install을 눌러 설치해 주세요.
특징 | Enable file system caching | Enable symbolic links |
기능 | 파일 시스템 데이터를 메모리에 캐싱하여 특정 Git 작업 속도 향상 (core.fscache 설정) | 심볼릭 링크 기능 활성화 (SeCreateSymbolicLinkPrivilege 필요) |
성능 | 향상 (특히 대규모 저장소에서 효과적) | 해당 없음. (기능 활성화) |
권한 | 일반 사용자 | SeCreateSymbolicLinkPrivilege 권한 필요(일반적으로 개발자 모드 활성화 또는 관리자 권한 필요) |
기존 저장소 영향 | 영향 없음. | 영향 없음. (새로운 심볼릭 링크 생성에만 적용) |
권장 여부 | 권장 (대부분의 경우 성능 향상) | 심볼릭 링크를 사용해야 하는 특정 개발 환경 |