Visual Studio 2022는 Git 메뉴, Git 변경 내용 및 솔루션 탐색기 상황에 맞는 메뉴를 사용하여 Git 버전 제어 환경을 제공합니다. Visual Studio 2019 버전 16.8은 팀 탐색기 Git 사용자 인터페이스도 제공합니다. 자세한 내용은 Visual Studio 2019 - 팀 탐색기 탭을 참조하세요.
Visual Studio는 파일을 마지막으로 커밋된 버전으로 되돌려 커밋되지 않은 변경 내용을 파일에 삭제하도록 지원합니다.
Git 변경 내용 창에서 삭제하려는 변경 내용으로 파일을 식별합니다. 파일이 스테이징된 변경 내용 섹션에 있는 경우 마우스 오른쪽 단추로 클릭하고 스테이징 해제를 선택합니다. 스테이징되지 않은 파일이 변경 내용 섹션에 표시됩니다.
파일이 변경 내용 섹션에 있는 경우 파일을 마우스 오른쪽 단추로 클릭하고 변경 내용 취소를 선택하여 마지막 커밋 이후 파일의 모든 변경 내용을 취소합니다.
Visual Studio 2019는 Git 메뉴, Git 변경 내용 및 솔루션 탐색기 상황에 맞는 메뉴를 사용하여 Git 버전 제어 환경을 제공합니다.
Visual Studio는 파일을 마지막으로 커밋된 버전으로 되돌려 커밋되지 않은 변경 내용을 파일에 삭제하도록 지원합니다.
Git 변경 내용 창에서 삭제하려는 변경 내용으로 파일을 식별합니다. 파일이 스테이징된 변경 내용 섹션에 있는 경우 마우스 오른쪽 단추로 클릭하고 스테이징 해제를 선택합니다. 스테이징되지 않은 파일이 변경 내용 섹션에 표시됩니다.
파일이 변경 내용 섹션에 있는 경우 파일을 마우스 오른쪽 단추로 클릭하고 변경 내용 취소를 선택하여 마지막 커밋 이후 파일의 모든 변경 내용을 취소합니다.
Visual Studio는 파일을 마지막으로 커밋된 버전으로 되돌려 커밋되지 않은 변경 내용을 파일에 삭제하도록 지원합니다.
팀 탐색기의 변경 내용 보기에서 삭제하려는 변경 내용으로 파일을 식별합니다. 파일이 스테이징된 변경 내용 섹션에 있는 경우 마우스 오른쪽 단추로 클릭하고 스테이징 해제를 선택합니다. 스테이징되지 않은 파일이 변경 내용 섹션에 표시됨
파일이 변경 내용 섹션에 있는 경우 파일을 마우스 오른쪽 단추로 클릭하고 변경 내용 취소를 선택하여 마지막 커밋 이후 파일의 모든 변경 내용을 취소합니다.
Git checkout 명령을 사용하여 파일을 마지막으로 커밋된 버전으로 되돌려 파일에 대한 커밋되지 않은 변경 내용을 취소할 수 있습니다.
git checkout <file>
예를 들어 파일에 git checkout README.md 대한 커밋되지 않은 변경 내용을 삭제합니다 README.md .
또한 Git checkout 은 커밋을 고유하게 식별하는 부분 또는 전체 커밋 ID 지정할 때 파일을 이전에 커밋된 버전으로 되돌리는 것을 지원합니다.
Git checkout 명령을 사용하여 파일을 되돌리는 것은 분기 간을 전환하는 일반적인 용도와 다릅니다. 명령 출력은 checkout 분기 간 전환 또는 파일 업데이트 여부를 알려주며, 수행하려는 파일이 명확하지 않은 경우 경고합니다.
분기를 이전 상태로 되돌리기
Git 재설정 을 사용하여 분기를 이전 커밋으로 다시 설정하여 분기를 이전 상태로 되돌릴 수 있습니다. Git reset 은 모든 분기 폴더의 모든 파일에 영향을 줍니다.
Git reset 에는 몇 가지 옵션이 있습니다. 기본 옵션은 분기를 이전 커밋으로 되돌리지만 모든 후속 변경 내용을 커밋되지 않은 변경 내용으로 유지하는 것입니다. 또 다른 옵션은 해당 커밋 이후 모든 분기 파일에 대한 모든 변경 내용을 삭제하여 분기를 이전 커밋으로 되돌리는 것입니다.
Warning
마지막 커밋이 푸시되고 다른 사용자와 공유된 경우 마지막 커밋 전에 분기를 커밋으로 다시 설정하지 마세요. 이렇게 하면 로컬 분기 기록이 더 이상 원격 분기 기록과 일치하지 않습니다. 공유 분기의 경우 공유 커밋에 의해 변경된 내용 실행 취소를 참조하세요.
현재 분기의 기록 탭에서 다시 설정할 커밋을 마우스 오른쪽 단추로 클릭한 다음 변경 내용 다시 설정>(--하드)을 선택하여 분기를 선택한 커밋으로 다시 설정하고 해당 커밋 이후 모든 분기 파일에 대한 모든 변경 내용을 삭제합니다. 또는 변경 내용 유지(--혼합)를 선택하여 > 분기를 선택한 커밋으로 다시 설정하고 모든 후속 변경 내용을 스테이징되지 않은 변경 내용으로 유지합니다.
메뉴 모음에서 Git > 보기 분기 기록을 선택하여 현재 분기의 기록 탭을 엽니다.
현재 분기의 기록 탭에서 다시 설정할 커밋을 마우스 오른쪽 단추로 클릭한 다음 변경 내용 다시 설정>(--하드)을 선택하여 분기를 선택한 커밋으로 다시 설정하고 해당 커밋 이후 모든 분기 파일에 대한 모든 변경 내용을 삭제합니다. 또는 변경 내용 유지(--혼합)를 선택하여 > 분기를 선택한 커밋으로 다시 설정하고 모든 후속 변경 내용을 스테이징되지 않은 변경 내용으로 유지합니다.
팀 탐색기의 변경 내용 보기에서 작업 > 보기 기록을 선택하여 현재 분기의 기록 탭을 엽니다.
현재 분기의 기록 탭에서 다시 설정할 커밋을 마우스 오른쪽 단추로 클릭한 다음 변경 내용 다시 설정>(--하드)을 선택하여 분기를 선택한 커밋으로 다시 설정하고 해당 커밋 이후 모든 분기 파일에 대한 모든 변경 내용을 삭제합니다. 또는 변경 내용 유지(--혼합)를 선택하여 > 분기를 선택한 커밋으로 다시 설정하고 모든 후속 변경 내용을 스테이징되지 않은 변경 내용으로 유지합니다.
Git reset 을 사용하여 이전 커밋에서 분기를 해당 상태로 되돌릴 수 있습니다. Git reset 명령은 다양한 플래그와 함께 사용할 수 있습니다.
플래그는 --hard 지정된 커밋으로 분기를 재설정하고 모든 후속 변경 내용을 취소하도록 Git에 지시합니다. 이 옵션을 사용하면 작업이 손실될 수 있으므로 이 옵션에 주의해야 합니다.
플래그는 --mixed 지정된 커밋으로 분기를 다시 설정하지만 모든 후속 변경 내용을 스테이징되지 않은 변경 내용으로 유지하도록 Git에 지시합니다. 이 옵션이 기본값입니다.
플래그는 --soft 지정된 커밋으로 분기를 다시 설정하지만 모든 후속 변경 내용을 이전 상태에 따라 스테이징 및 스테이징되지 않은 변경 내용으로 유지하도록 Git에 지시합니다.
Git reset 의 일반적인 사용은 마지막 커밋 이후 모든 파일에서 커밋되지 않은 모든 변경 내용을 취소하는 옵션입니다 --hard .
git reset --hard
마지막 커밋과 다른 커밋으로 분기를 하드 다시 설정하려면 커밋을 고유하게 식별하는 커밋 ID 또는 부분 커밋 ID 지정합니다.
Git 되돌리 기를 사용하여 해당 변경 내용을 되돌리는 새 커밋을 만들어 커밋으로 변경한 내용을 취소할 수 있습니다. Git은 revert 원래 커밋을 삭제하지 않습니다. 이 방법은 Git revert 이 이전 커밋 기록을 변경하지 않으므로 공유 커밋의 변경 내용을 실행 취소하는 데 적합하므로 로컬 및 원격 분기 기록이 계속 일치합니다.
현재 분기의 기록 탭에서 되돌리려는 커밋을 마우스 오른쪽 단추로 클릭하고 되돌리기를 선택하여 선택한 커밋의 변경 내용을 취소하는 새 커밋을 만듭니다.
메뉴 모음에서 Git > 보기 분기 기록을 선택하여 현재 분기의 기록 탭을 엽니다.
현재 분기의 기록 탭에서 되돌리려는 커밋을 마우스 오른쪽 단추로 클릭하고 되돌리기를 선택하여 선택한 커밋의 변경 내용을 취소하는 새 커밋을 만듭니다.
팀 탐색기의 변경 내용 보기에서 작업 > 보기 기록을 선택하여 현재 분기의 기록 탭을 엽니다.
현재 분기의 기록 탭에서 되돌리려는 커밋을 마우스 오른쪽 단추로 클릭하고 되돌리기를 선택하여 선택한 커밋의 변경 내용을 취소하는 새 커밋을 만듭니다.
Git revert 명령을 사용하여 커밋에 의해 변경된 내용을 실행 취소하고 반전된 변경 내용으로 새 커밋을 만들 수 있습니다. 변경 내용이 반전된 커밋은 Git 기록에 남아 있습니다.
git revert <commit ID>
되돌리기 작업이 성공하면 Git에서 새 커밋에 대한 커밋 메시지 입력하라는 메시지가 표시되는 편집기 창이 열립니다.
되돌리기 작업 중에 충돌이 있는 경우 Git에서 알려 줍니다. 충돌을 해결한 다음 실행하거나 실행 git revert --continuegit revert --abort 하여 되돌리기 작업을 실행 취소할 수 있습니다.
커밋 ID 찾기
Git log 명령을 사용하여 커밋의 ID를 가져올 수 있습니다. 플래그는 --oneline 출력을 축약합니다.
git log --oneline <branch>
Git log 명령은 지정된 분기의 끝에 있는 커밋(지정되지 않은 경우 현재 분기)부터 시작하여 가장 최근의 커밋을 먼저 나열한 다음 상위 커밋을 통해 뒤로 반복합니다. 약식 출력의 각 커밋 ID 커밋을 고유하게 식별하는 부분 SHA-1 체크섬입니다. 예를 들어 다음을 git log --oneline main 출력할 수 있습니다.
e745d06 (HEAD -> main) Add a test initialization class
31da50b Add network switch test
0c14391 Add readme file
32e3946 Add project files.