[Git/GitHub/VSCode] Github 연동을 위한 VSCode, git 설치

2025. 5. 4. 04:01Other 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 설치

아래 링크 들어가셔서 본인이 사용하시는 운영체제를 선택하셔서 다운로드해주세요.

https://git-scm.com/downloads

 

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을 눌러서 설치하시면 됩니다.)

Only show new options가 체크되어 있는 상태
Only show new options 체크 해제

 

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를 눌러주세요.

 

9. Windows 환경에서 기업 내부 인증서를 사용하는 경우
  • `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 권한 필요
(일반적으로 개발자 모드 활성화 또는 관리자 권한 필요)
기존 저장소 영향 영향 없음. 영향 없음. (새로운 심볼릭 링크 생성에만 적용)
권장 여부 권장 (대부분의 경우 성능 향상) 심볼릭 링크를 사용해야 하는 특정 개발 환경