자주 묻는 Git 질문

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

원격 분기를 로컬 리포지토리에 쉽게 다운로드하려면 어떻게 해야 하나요?

먼저 리포지토리가 origin 구성되어 있는지 확인합니다. 리포지토리를 복제 git clone한 경우 이러한 리포지토리가 있어야 합니다. 로컬에 존재하지 않는 분기를 검사 경우 Git은 이름이 같은 원격 분기가 있는지 확인합니다. 있는 경우 Git은 해당 이름의 원격 분기에 대한 참조를 사용하여 로컬 분기를 만듭니다. 커밋을 다운로드하고 Git이 로컬로 분기 기록을 따라잡도록 하는 데 사용합니다 git pull .

어떤 분기에서 작업하고 있는지 어떻게 확인할 수 있나요?

git branch인수가 없으면 로컬 분기가 표시되고 검사 강조 표시됩니다. Visual Studio에서 상태 표시줄에는 로컬 Git 리포지토리에 저장된 프로젝트로 작업할 때 현재 분기도 표시됩니다.

Git 커밋은 언제 수행해야 하나요?

허용되는 방법은 논리적으로 별도의 변경에 대해 별도의 커밋을 만드는 것입니다. 커밋을 로그북의 항목으로 간주합니다. 주목할 만한 변경 내용을 만들 때마다 커밋에 기록합니다. 인기 있는 옵션은 모든 사용자가 원하는 만큼 로컬로 커밋할 수 있도록 허용하는 것이지만 로컬 커밋을 푸시하기 전에 먼저 스쿼시. 이 옵션은 커밋 기록을 간소화된 상태로 유지하면서 사용자가 자주 커밋할 수 있는 유연성을 제공합니다.

모든 분기가 전체 커밋 기록을 유지하는 경우 시간이 지남에 따라 *기본*의 커밋 기록을 따르기 어렵게 만들지 않습니까?

커밋이 많고 기여자 범위가 많은 대규모 프로젝트는 전체 프로젝트의 개발 기록보다 더 많은 항목 분기의 개발 기록을 나타내는 분기에 main 대한 main 커밋 기록을 생성할 수 있습니다. Git은 스쿼시 커밋 및 재지정을 통해 분기에서 커밋을 압축하는 기능을 제공합니다. 커밋을 스쿼시 분기의 커밋 기록은 자세한 정보가 적어지면 기본 분기에서 더 간단한 커밋 기록이 병합됩니다.

누가 파일을 특정하게 변경했는지 어떻게 알 수 있나요?

git blame 명령을 사용하여 파일을 특정하게 변경한 사용자를 확인합니다. 로컬 리포지토리에서 매개 변수를 -L 사용하여 실행 git blame 하여 관심 있는 줄을 지정할 수 있습니다. Blame 는 마지막으로 줄을 업데이트한 커밋과 커밋을 만든 사람의 이름을 보여 주는 형식이 지정된 출력을 생성합니다.

> git blame foo.js -L 20,+40  # show the blame output for the next 40 lines starting at line 20

215d1108 (Francis Totten 2015-11-21 09:54:23 -0800 20) line 20 of the code
215d1108 (Francis Totten 2015-11-21 09:54:23 -0800 21) line 21 of the code
215d1108 (Francis Totten 2015-11-21 09:54:23 -0800 22) line 22 of the code

Blame 는 커밋 기록을 검색합니다. 웹 포털에서 파일의 기록을 검토하여 변경한 사용자와 시기를 확인할 수도 있습니다. 리포지토리 및 분기에 대한 코드 탐색기를 연 다음 관심 있는 파일을 선택합니다. Azure Repos는 현재 분기에 해당 파일에 대한 전체 커밋 기록을 표시합니다.

일부 파일을 변경했으며 이제 다른 분기로 검사 작업을 다시 작성할 수 없습니다.

Git에서 다른 분기로 체크 아웃하면 파일 시스템의 파일 상태에 영향을 줍니다. Git은 커밋 기록을 사용하여 분기의 상태를 나타내는 파일로 작업하고 있는지 확인합니다. 커밋되지 않은 변경 내용이 있는 동안 분기를 변경하려고 하면 검사 동안 해당 변경 내용을 덮어씁니다. Git은 실수로 변경 내용을 손실하지 않기 때문에 검사 발생을 방지합니다. 이때 다음 두 가지 방법을 사용할 수 있습니다.

  • 변경 내용을 포기하고 가장 최근의 커밋으로 돌아갑니다. 최신 커밋으로 롤백하는 방법에 대한 지침은 Git의 변경 내용 취소를 참조하세요.
  • 변경 내용을 커밋합니다. 커밋을 사용하여 Git에 작업 저장을 참조 하세요.
  • 현재 작업을 숨기고, 나중에 변경 내용을 저장하고, 작업 영역을 마지막 커밋으로 클린.

나는 몇 가지 일을했지만 다른 무언가로 전환해야합니다. 변경 내용을 커밋하지 않고 나중에 작업을 저장하려면 어떻게 해야 하나요?

경우에 따라 변경 내용을 유지하려고 하지만, 변경 내용이 편안하게 수행되는 시점에 있지 않기 때문에 커밋하지 않으려는 경우가 있습니다. Git을 stash사용합니다. Stash는 분기에서 현재 스테이징 및 스테이징되지 않은 변경 내용을 가져와 작업을 저장한 다음 마지막 커밋의 상태로 분기를 다시 반환합니다. 다른 분기로 변경하고 작업을 수행한 다음 이 분기로 stash apply 돌아가서 변경 내용을 복원할 수 있습니다.

> git stash
Saved working directory and index state WIP on feature1: be26067 updated endpoint docs
HEAD is now at be26067

실행 git stash apply하면 가장 최근에 숨겨진 변경 내용이 현재 분기에 적용됩니다. 숨겨진 변경 내용을 stash 적용하는 충돌이 있는 경우 충돌하지 않는 파일의 변경 내용을 복원하고 충돌하는 파일에 충돌 마커를 만들어 해결할 수 있습니다. 이 경우 변경 내용을 수동으로 병합해야 합니다.

은닉을 완료했으면 이 명령을 사용하여 git stash drop 삭제하면 숨겨진 변경 내용의 마지막 집합이 제거됩니다.

여러 개의 스테이시를 가질 수 있지만, 이렇게 하려면 명시적으로 스테이시를 적용하고 삭제해야 하므로 더 많은 수동 조작이 필요합니다. Git Stash 설명서에서 자세히 알아보세요.

Git 명령줄 도구의 기본 편집기를 어떻게 변경할 수 있나요?

기본적으로 명령줄 Git은 커밋 메시지 요청, 다시 기반 수행 및 추가 정보를 완료해야 하는 기타 작업을 수행할 때 명령줄 편집기를 사용합니다. 기본 편집기는 다음을 사용하여 git config구성됩니다.

> git config core.editor _path_to_editor_ _options_to_editor_

Windows용 Git을 사용하면 메모장을 편집기로 쉽게 설정할 수 있습니다.

> git config core.editor notepad

이 명령은 필요에 따라 Git 정보를 편집하고 Git에서 메모장 텍스트를 제대로 전달하도록 Windows 메모장 구성합니다. 지정할 수도 있습니다.

> git config format.commitMessageColumns 72 

커밋 메시지 텍스트 열을 기본 72로 유지하고 줄 바꿈을 줄에 해당 문자 제한에 도달한 후 줄 바꿈을 유지합니다.

커밋에 표시되는 사용자 이름 및 전자 메일을 변경하려면 어떻게 해야 하나요?

Git은 각 커밋 내에 사용자 이름 및 이메일 주소 정보를 배치하고, Azure Repos는 커밋을 볼 때와 끌어오기 요청을 사용할 때 이 정보를 사용합니다. 명령줄에서 작업하는 경우 다음 명령을 사용하여 표시되는 이름 및 전자 메일 정보를 업데이트할 git config 수 있습니다.

> git config --global user.email "frank@fabrikam.com"
> git config --global user.name "Francis Totten"

이 옵션은 이 --global 시스템의 모든 Git 리포지토리에 대한 커밋에 포함된 이메일 및 이름을 설정합니다. 단일 리포지토리에 대한 설정을 변경하려면 Git 리포지토리가 있는 디렉터리로 변경하고 플래그 없이 --global 위의 명령을 실행해야 합니다.

Visual Studio에서 이름 및 전자 메일 설정을 변경할 수도 있습니다. Git 메뉴에서 옵션 대화 상자에서 설정 선택하고 Git Global 설정 또는 Git 리포지토리 설정>General을 선택합니다.

Visual Studio 2019 버전 16.8 이상 버전은 팀 탐색기 Git 사용자 인터페이스를 기본 동안 Git 버전 제어 환경을 제공합니다. 팀 탐색기를 사용하려면 메뉴 모음에서 도구>>옵션 미리 보기를>검사 새로운 Git 사용자 환경을 제공합니다. 두 인터페이스에서 Git 기능을 서로 교환하여 연습할 수 있습니다.

팀 탐색기에서 설정 선택하고 Git에서 전역 설정 또는 리포지토리 설정 링크를 선택합니다.