다음을 통해 공유


Visual Studio에서 Git 리포지토리 관리

Git 리포지토리 창은 Git 리포지토리를 관리하고 팀의 프로젝트를 최신 상태로 유지하는 데 도움이 되는 전체 화면 Git 환경을 제공합니다. 예를 들어, 커밋을 리셋하거나 리버트하거나 체리 픽하거나, 단순히 커밋 기록을 정리해야 할 수 있습니다. Git 리포지토리 창은 브랜치를 시각화 및 관리가 가능합니다.

Visual Studio를 사용한 버전 제어는 Git을 사용하여 쉽게 제어할 수 있습니다. 또한 GitHub 또는 Azure DevOps와 같이 선택한 Git 공급자와 원격으로 작업할 수 있습니다. 또는 공급자 없이 로컬로 작업할 수 있습니다.

Git 리포지토리 창 열기

Git 리포지토리 창을 열려면 보기>Git 리포지토리 선택하거나 Ctrl +0Ctrl+R누르거나, Ctrl+Q 키를 누르고 기능아래에서 Git 리포지토리검색합니다.

GitHub Copilot 채팅을 사용하여 커밋 설명

Visual Studio 2022 버전 17.10 미리 보기 2 이상 및 GitHub Copilot 확장을 사용하면 AI를 사용하여 해당 커밋의 변경 내용을 설명하는 자세한 커밋 설명을 생성할 수 있습니다. 설명 단추를 눌러 GitHub Copilot가 커밋 설명을 만들도록 요청합니다. GitHub Copilot를 설치하려면 Visual Studio GitHub Copilot 설치 및 관리참조하세요.

GitHub Copilot가 커밋 설명을 만들도록 요청하는 설명 단추의 스크린샷

마지막 커밋 변경(수정)

마지막 커밋 업데이트는 Git에서 수정하는 호출되며 일반적인 사용 사례입니다. 커밋 메시지를 업데이트하기만 하면 되거나 막판 변경 내용을 포함해야 하는 경우도 있습니다.

다음 명령을 사용하여 명령줄에서 커밋을 수정할 수 있습니다.

git commit --amend

Git 리포지토리 창을 사용하면 가장 최근의 커밋 메시지를 쉽게 업데이트할 수 있습니다. 마지막 커밋을 두 번 클릭하여 커밋 세부 정보를 연 다음 커밋 메시지 옆에 있는 편집 옵션을 선택합니다.

커밋 메시지를 편집하는 스크린샷

커밋 메시지 편집을 마치면 수정선택합니다.

수정을 선택하여 편집된 메시지를 저장하는 스크린샷입니다.

마지막 커밋에 코드 변경 내용을 포함해야 하는 경우 Git 변경 내용 창에서 이 작업을 수행할 수 있습니다. 수정 확인란을 선택한 다음 변경 내용을 커밋합니다.

Git 변경 내용 창을 사용하여 코드 변경 내용을 수정하는 스크린샷

최신 메시지 이외의 커밋 메시지를 변경하는 방법을 포함하여 수정에 대한 자세한 내용은 Git 웹 사이트에서 Git 도구 - 기록 다시 작성하세요.

병합 커밋(압축)

일련의 커밋을 병합하기 위해 Git은 커밋을 단일 커밋으로 축소하는 옵션을 제공합니다. 이 옵션은 자주 커밋하고 원격 리포지토리로 푸시하기 전에 정리하려는 긴 커밋 목록으로 끝나는 경우에 유용할 수 있습니다.

다음 명령을 사용하여 명령줄에서 두 개의 커밋을 스쿼시할 수 있습니다.

git rebase -i HEAD~2

그런 다음 picksquash로 업데이트하고, 변경 사항을 저장한 다음 커밋 메시지를 업데이트합니다.

Git에서 'pick'을 'squash'로 변경하는 스크린샷

Visual Studio에서 커밋을 병합하려면 Ctrl 키를 사용하여 병합하려는 여러 커밋을 선택합니다. 그런 다음 마우스 오른쪽 단추를 클릭하고 Squash 커밋선택합니다. Visual Studio는 커밋 메시지를 자동으로 결합하지만 업데이트된 메시지를 제공하는 것이 더 좋은 경우도 있습니다. 커밋 메시지를 검토하고 업데이트한 후 Squash 단추를 선택합니다.

Visual Studio에서 커밋을 스쿼시하는 스크린샷

스쿼싱에 대한 자세한 내용은 Git 웹 사이트에서 Git 도구 - 기록 다시 쓰기를 참조하세요.

분기 병합 및 리베이스

Git 분기를 사용하여 다른 기능을 사용하는 경우 특정 시점에 다른 분기에 도입된 업데이트를 포함해야 합니다. 기능 분기에서 작업하는 동안 이런 일이 발생할 수 있습니다. 기능 분기에서 작업을 완료하고 다른 분기에 변경 내용을 추가하여 변경 내용을 유지해야 하는 경우에도 발생할 수 있습니다. Git에서는 분기를 병합하거나 다시 실행하여 이러한 업데이트를 포함할 수 있습니다.

메모

다음 지침에서는 기능 분기의 예제 이름으로 New_Feature 사용합니다. 자신의 브랜치 이름으로 바꾸십시오.

명령줄에서 기본 분기를 기능 분기에 병합하려면 다음 명령을 사용합니다.

git checkout New_Feature
git merge main

Visual Studio에서 동일한 작업을 수행하려면 분기 목록에서 기능 분기를 두 번 클릭하여 확인합니다. 그런 다음 main에서 오른쪽 마우스 버튼을 클릭하고 'main'을 'New_Feature'에 병합 을 선택합니다.

Visual Studio에서 분기 병합하는 스크린샷

명령줄에서 기본 분기를 기능 분기로 다시 지정하려면 다음 명령을 사용합니다.

git checkout New_Feature
git rebase main

Visual Studio에서 동일한 작업을 수행하려면 분기 목록에서 기능 분기를 두 번 클릭하여 확인합니다. 그런 다음 를 마우스 오른쪽 버튼으로 클릭하고 'New_Feature'를 'main'에 Rebase 선택합니다.

Visual Studio의 분기 재지정 스크린샷

일반적으로 병합, 재배치 및 분기에 대한 더 많은 정보를 원하시면 Git 웹 사이트의 Git Branching을 참조하세요.

커밋 복사('cherry-pick')

체리-픽 옵션을 사용하여 하나의 브랜치에서 다른 브랜치로 커밋을 복사합니다. 병합 또는 재베이스와 달리 체리 피킹은 브랜치의 모든 변경 사항 대신 선택한 커밋의 변경 사항만 가져옵니다. 체리 따기는 다음과 같은 일반적인 문제를 해결하는 좋은 방법입니다.

  • 실수로 잘못된 분기에서 커밋합니다. 변경 사항을 올바른 분기로 체리픽한 후 원래 분기를 이전 커밋으로 리셋합니다.
  • 기능 분기에서 만든 커밋 집합을 분리하여, 더 빨리 주 분기에 다시 병합합니다.
  • 리베이스 없이 주 브랜치에서 특정 커밋을 가져옵니다.

명령줄을 사용하여 커밋에서 현재 분기로 변경 내용을 복사하려면 다음 명령을 사용합니다.

git cherry-pick 7599e530

Visual Studio에서 동일한 작업을 수행하려면 한 번의 클릭으로 커밋을 선택하여 커밋을 선택하려는 분기를 미리 봅니다. 그런 다음, 대상 커밋을 마우스 오른쪽 단추로 클릭하고 Cherry-Pick선택합니다.

Visual Studio의 체리 따기 스크린샷

작업이 완료되면 Visual Studio에 성공 메시지가 표시됩니다. 체리를 선택한 커밋은 나가는 섹션에 나타납니다.

체리 따기 커밋에 대한 자세한 내용은 체리 픽 명령 대한Git 웹 페이지를 참조하세요.

변경 내용 되돌리기

되돌리기 명령을 사용하여 공유 분기에 푸시된 커밋의 변경 내용을 실행 취소합니다. 되돌리기 명령은 이전 커밋에 대한 변경 내용을 실행 취소하는 새 커밋을 만듭니다. 되돌리기 명령은 리포지토리 기록을 다시 작성하지 않으므로 다른 사용자와 작업할 때 안전하게 사용할 수 있습니다.

명령줄을 사용하여 커밋에서 변경한 내용을 되돌리려면 다음 명령을 사용합니다. 브랜치의 실제 커밋 ID로 예제 ID를 바꾸십시오.

git revert 53333305
git commit

이전 예제에서 명령은 커밋 53333305 변경 내용을 실행 취소하고 분기에 새 커밋을 만듭니다. 원래 커밋은 여전히 Git 기록에 있습니다. Visual Studio에서 동일한 작업을 수행하려면 되돌리려는 커밋을 마우스 오른쪽 단추로 클릭한 다음 되돌리기를 선택합니다. 작업을 확인하고 작업이 완료된 후 Visual Studio에서 성공 메시지를 표시하고 나가는 섹션에 새 커밋이 표시됩니다.

Visual Studio에서 되돌리기 스크린샷

새 커밋을 선택하여 되돌려진 커밋의 변경 내용을 실행 취소했는지 확인합니다.

되돌리기 작업을 확인하는 스크린샷

되돌리기 메뉴 항목은 병합 커밋 또는 Git 작업이 실행 중인 경우와 같은 특정 상황에서 회색으로 표시(비활성화)될 수 있습니다.

변경 내용을 되돌리는 방법에 대한 자세한 내용은 되돌리기 명령 Git 웹 페이지를 참조하세요.

분기를 이전 상태로 다시 설정

다시 설정 명령을 사용하여 로컬 리포지토리의 분기를 이전 커밋의 내용으로 다시 가져옵니다. 이 작업은 브랜치를 리셋하는 커밋 이후 발생한 모든 변경 사항을 삭제합니다.

경고

다른 사용자의 작업을 삭제할 수 있으므로 공유 분기를 다시 설정하지 마세요. 대신 되돌리기 명령을 사용합니다.

명령줄을 사용하여 분기를 이전 상태로 다시 설정하려면 다음 명령을 사용합니다. 예제 ID를 귀하의 분기 내 실제 커밋의 ID로 바꾸십시오.

git reset --hard 53333305

명령의 --hard 부분은 Git에게 파일을 이전 커밋의 상태로 다시 설정하고 준비된 변경 내용을 취소하도록 지시합니다. Visual Studio에서 동일한 작업을 수행하려면, 분기를 특정 커밋으로 다시 설정하려는 커밋을 마우스 오른쪽 단추로 클릭한 다음 다시 설정>변경 내용 삭제(--hard)선택하십시오.

Visual Studio에서 분기를 다시 설정하는 방법을 보여 주는 스크린샷

자세한 내용을 확인하려면, 분기 리셋 방법에 대해 설명된 Git 웹 페이지 의 리셋 명령어를 참조하세요.