Git을 사용하여 코드 저장 및 공유
버전 제어를 사용하는 경우 팀과 코드 버전을 저장하고 공유하는 것이 가장 일반적입니다. Git에는 이러한 작업에 대한 쉬운 3단계 워크플로가 있습니다.
- 작업할 새 분기 만들기
- 변경 내용 커밋
- 분기를 푸시하여 팀과 공유
Git을 사용하면 분기를 사용하여 작업을 쉽게 관리할 수 있습니다. 모든 버그픽스, 새 기능, 추가된 테스트 및 업데이트된 구성은 새 분기로 시작합니다. 분기는 개발 머신에 가볍고 로컬이므로 분기를 푸시할 때까지 리소스를 사용하거나 다른 사용자와 변경 내용을 조정하는 것에 대해 걱정할 필요가 없습니다.
분기를 사용하면 개발의 다른 변경 내용과 격리된 상태로 코딩할 수 있습니다. 모든 것이 작동하면 분기 및 변경 내용이 팀과 공유됩니다. 다른 사용자는 자체 분기에서 진행 중인 작업에 영향을 주지 않고 분기의 자체 복사본에서 코드를 실험할 수 있습니다.
새 작업을 시작할 때와 같이 main
현재 분기의 코드를 기반으로 분기를 만듭니다. 새 분기를 만들기 전에 선택한 git status
분기를 검사 것이 좋습니다.
다음 명령을 사용하여 Git에서 분기를 만듭니다 git branch
.
> git branch <branchname>
리포지토리의 분기 간에 교환하는 명령은 .입니다 git checkout
. 분기를 만든 후 변경 내용을 저장하기 전에 분기로 전환합니다.
> git checkout <branchname>
Git에는 분기를 만들고 동시에 전환할 수 있는 약식 명령이 있습니다.
> git checkout -b <branchname>
GitHub 또는 Azure DevOps에서 Git 분기를 사용하는 방법에 대해 자세히 알아봅니다.
Git은 편집할 때 코드를 자동으로 스냅샷 않습니다. Git은 다음 스냅샷 추가할 변경 내용을 정확히 알려주어야 합니다. 이를 스테이징이라고합니다. 변경 내용을 준비한 후 커밋을 만들어 스냅샷 영구적으로 저장합니다.
Git은 리포지토리에서 수행된 파일 변경 내용을 추적합니다. 이러한 변경 내용은 다음 세 가지 범주로 구분됩니다.
- 수정되지 않은 파일 은 마지막 커밋 이후 변경되지 않았습니다.
- 수정된 파일 은 마지막 커밋 이후 변경되었지만 다음 커밋을 위해 준비되지 않았습니다.
- 스테이징된 파일에 는 다음 커밋에 추가될 변경 내용이 있습니다.
커밋을 만들 때는 스테이징된 변경 내용과 변경되지 않은 파일만 스냅샷 사용됩니다. 스테이징되지 않은 변경 내용은 파일 시스템에 유지되지만 커밋은 스냅샷 수정되지 않은 파일을 사용합니다.
커밋을 만들어 Git의 변경 내용을 저장합니다. 각 커밋은 개별 파일 변경뿐만 아니라 각 커밋에 리포지토리의 전체 파일 콘텐츠를 저장합니다. 이 동작은 코드의 마지막 버전과 파일 수준 차이를 저장하는 다른 버전 제어 시스템과 다릅니다. 전체 파일 기록을 사용하면 변경 내용을 병합할 때 Git에서 더 나은 결정을 내릴 수 있으며 코드 분기 간을 빠르게 전환할 수 있습니다.
변경된 파일을 추가하고, 파일을 제거하고, git rm
git mv
파일을 이동하기 위해 변경 내용을 git add
준비합니다. 그런 다음 명령을 사용하여 git commit
커밋을 만듭니다.
일반적으로 개발자는 리포지토리에서 변경된 모든 파일을 스테이징하려고 합니다.
> git add –all
그런 다음, 간단한 설명을 사용하여 변경 내용을 커밋합니다.
> git commit -m "Short description of changes."
모든 커밋에는 변경 내용을 설명하는 메시지가 있습니다. 좋은 커밋 메시지 개발자가 커밋에서 변경한 내용을 기억하는 데 도움이 됩니다. 또한 좋은 커밋 메시지 사용하면 다른 사용자가 커밋을 더 쉽게 검토할 수 있습니다.
Visual Studio 또는 Visual Studio Code에서 파일 준비 및 변경 내용 커밋에 대해 자세히 알아봅니다.
팀에서 작업하든 자신의 코드를 백업하려고 하든 개발자는 다른 컴퓨터의 리포지토리와 커밋을 공유해야 합니다. 명령을 git push
사용하여 로컬 리포지토리에서 커밋을 가져와 원격 리포지토리에 씁니다. Git은 복제된 리포지토리에 설정되어 복제 소스(라고도 함 origin
)에 연결합니다. 현재 분기의 로컬 커밋을 이 원본 리포지토리의 다른 분기(분기 이름)에 쓰려면 실행 git push
합니다. Git이 없는 경우 원격 리포지토리에 분기 이름을 만듭니다.
> git push origin
로컬 시스템에서 git init
만든 리포지토리에서 작업하는 경우 변경 내용을 푸시하기 전에 팀의 Git 서버에 대한 연결을 설정해야 합니다. Visual Studio 또는 Visual Studio Code에서 원격 설정 및 변경 내용 푸시에 대해 자세히 알아봅니다.
로컬 분기를 팀의 공유 리포지토리에 푸시하면 나머지 팀에서 변경 내용에 액세스할 수 있습니다. 처음 git push
실행되면 옵션을 추가 -u
하면 리포지토리에서 분기 이름으로 로컬 분기 추적을 시작하도록 Git에 origin
지시합니다. 이 일회성 추적 정보 설정 후에는 팀 구성원이 직접 사용하여 git push
업데이트를 빠르고 쉽게 공유할 수 있습니다.
> git push origin <branchname>
GitHub 또는 Azure DevOps의 분기에 대해 자세히 알아봅니다.
Visual Studio 또는 Visual Studio Code에서 커밋 및 분기 푸시에 대해 자세히 알아봅니다.