Git 작업Working with Git

Git은 모든 팀원이 동일한 문서를 동시에 작업할 수 있는 분산형 버전 제어 시스템입니다.Git is a distributed version control system that allows teams to work on the same documents simultaneously. 즉, 모든 파일을 포함하는 중앙 서버가 있지만 이 중앙 소스에서 리포지토리를 체크 아웃하면 전체 리포지토리가 로컬 컴퓨터에 복제됩니다.This means that there is a central server that contains all the files, but when a repository is checked out from this central source, the entire repository is cloned to the local machine.

아래 섹션에서는 Mac용 Visual Studio의 버전 제어에 Git을 사용하는 방법을 살펴봅니다.The sections below will explore how Git can be used for version control in Visual Studio for Mac.

Git 버전 제어 메뉴Git version control menu

아래 이미지는 Mac용 Visual Studio의 버전 제어 메뉴 항목에서 제공하는 옵션을 보여줍니다.The image below illustrates the options provided by Visual Studio for Mac by the Version Control menu item:

버전 제어 메뉴 항목

푸시 및 풀Push and Pull

푸시 및 풀은 Git에서 가장 일반적으로 사용하는 두 가지 작업입니다.Pushing and Pulling are two of the most commonly used actions within Git. 다른 사용자가 원격 리포지토리에 적용한 변경 내용을 동기화하려면 원격 리포지토리에서 해야 합니다.To synchronize changes that other people have made to the remote repository, you must Pull from there. Mac용 Visual Studio에서 이 작업을 수행하려면 버전 제어 > 솔루션 업데이트 를 선택합니다.This is done in Visual Studio for Mac by selecting Version Control > Update Solution.

파일을 업데이트하고 검토하여 커밋한 후에는 다른 사용자가 변경 내용에 액세스할 수 있도록 원격 리포지토리에 푸시 해야 합니다.Once you have updated your files, reviewed and committed them, you must then Push them to the remote repository to allow others to access your changes. Mac용 Visual Studio에서 이 작업을 수행하려면 버전 제어 > 변경 내용 푸시 를 선택합니다.This is done in Visual Studio for Mac by selecting Version Control > Push Changes. 이렇게 하면 커밋된 변경 내용을 보면서 푸시할 분기를 선택할 수 있는 푸시 대화 상자가 표시됩니다.This will display the Push dialog, allowing you to view the committed changes, and select the branch to push to:

커밋할 분기를 보여주는 대화 상자

커밋 대화 상자를 통해 변경 내용을 커밋하는 동시에 푸시할 수도 있습니다.You can also Commit and Push your changes at the same time, via the Commit dialog:

커밋과 동시에 푸시하는 방법을 보여주는 옵션

책임, 로그 및 병합Blame, Log, and Merge

창 아래쪽에 아래 그림과 같이 다섯 개의 탭이 표시됩니다.At the bottom of the window, there are five tabs displayed, as illustrated below:

버전 제어 탭

다음과 같은 작업을 수행할 수 있습니다.These allow the following actions:

  • 소스 - 소스 코드 파일을 표시합니다.Source - Displays your source code file.

  • 변경 내용 - 로컬 파일과 기본 파일 간의 코드 변경 내용을 표시합니다.Changes - Displays the change in code between your local file and the base file. 해시가 서로 다른 여러 파일 버전을 비교할 수도 있습니다.You can also compare different versions of the file from different hashes:

    변경 내용 탭

  • 책임 - 각 코드 섹션에 연결된 사용자 이름을 표시합니다.Blame - Displays the username of the user associated with each section of code.

  • 로그 - 모든 커밋, 시간, 날짜, 메시지 및 파일을 담당하는 사용자를 표시합니다.Log - Displays all the commits, times, dates, messages, and users that are responsible for the file:

    로그 탭

  • 병합 - 작업을 커밋할 때 병합 충돌이 발생한 경우에 사용할 수 있습니다.Merge - This can be used if you have a merge conflict when committing your work. 두 코드 섹션을 깔끔하게 결합할 수 있도록 자신의 변경 내용과 다른 개발자의 변경 내용을 시각적으로 표현합니다.It shows a visual representation of the changes made by you and the other developer, allowing you to combine both sections of code cleanly.

분기 전환Switching branches

기본적으로 리포지토리에서 가장 먼저 생성된 분기를 기본 분기라고 합니다.By default, the first branch created in a repository is known as the main branch. 기본 분기와 다른 분기 간에 기술적인 차이점은 없지만, 기본 분기는 개발 팀에서 '라이브' 또는 '프로덕션' 분기로 간주되는 경우가 대부분입니다.There isn't technically anything different between the main branch and any other, but the main branch is the one that is most often thought of in development teams as the 'live' or 'production' branch.

기본 또는 기타 분기를 분기하여 독립적인 개발 라인을 만들 수 있습니다.An independent line of development can be created by branching off main (or any other branch, for that matter). 이렇게 하면 특정 시점을 기준으로 기본 분기의 새 버전을 제공하여 '라이브' 분기와 독립적으로 개발할 수 있습니다.This provides a new version of the main branch at a point in time, allowing for development independently of what is 'live.' 소프트웨어 개발에서 형상을 관리할 때 이러한 방법으로 분기를 사용하는 경우가 많습니다.Using branches in this way is often used for features in software development

사용자는 각 리포지토리에 대해 개수에 제한 없이 분기를 만들 수 있지만, 사용이 끝난 분기는 바로 삭제하여 리포지토리를 깔끔하게 정리하는 것이 좋습니다.Users can create as many branches as they like for each repository, but it is recommended that once they have finished using a branch, it is deleted it to keep the repository organized.

Mac용 Visual Studio에서 분기를 조회하려면 버전 제어 > 분기 및 원격 관리... 로 이동합니다.Branches are viewed in Visual Studio for Mac by browsing to Version Control > Manage Branches and Remotes...:

분기 보기

다른 분기로 전환하려면 목록에서 해당 분기를 선택하고 분기로 전환 단추를 누릅니다.Switch to another branch by selecting it in the list and pressing the Switch to Branch button.

새 분기를 만들려면 Git 리포지토리 구성 대화 상자에서 새로 만들기 단추를 선택합니다.To create a new branch select the New button in the Git repository configuration dialog. 새 분기 이름을 입력하세요.Enter the new branch name:

새 분기 만들기

원격 분기를 추적 분기로 설정할 수도 있습니다.You can also set a remote branch to your tracking branch. 추적 분기에 대한 자세한 내용은 Git 설명서를 참조하세요.Read more about tracking branches in the Git documentation.

솔루션 창에서 프로젝트 이름 옆에 표시된 현재 분기를 확인하세요.See the current branch in the Solution Window, next to the project name:

솔루션 창에 표시된 현재 분기

검토 및 커밋Reviewing and committing

파일의 변경 내용을 검토하려면 이 항목의 앞에서 설명한 것처럼 각 문서의 [변경 내용], [책임], [로그] 및 [병합] 탭을 사용합니다.To review changes in the files, use the Changes, Blame, Log, and Merge tabs on each document, illustrated earlier in this topic.

버전 제어 > 솔루션 검토 및 커밋 메뉴 항목으로 이동하여 프로젝트의 모든 변경 내용을 검토합니다.Review all changes in your project by browsing to the Version Control > Review Solution and Commit menu item:

코드 보기 검토

이렇게 하면 프로젝트의 각 파일에 포함된 변경 내용을 모두 확인하면서 [되돌리기], [패치 만들기] 또는 [커밋] 옵션을 사용할 수 있습니다.This allows viewing of all the changes in each file of a project with the option to Revert, Create a Patch, or Commit.

원격 리포지토리에 파일을 커밋하려면 커밋 을 누르고 커밋 메시지를 입력한 다음, 커밋 단추를 클릭하여 확인합니다.To commit a file to the remote repository, press Commit, enter a commit message, and confirm with the Commit Button:

파일 커밋

변경 내용을 커밋했으면 다른 사용자가 확인할 수 있도록 원격 리포지토리에 푸시합니다.Once you have committed your changes, push them to the remote repository to allow other users to see them.

참고 항목See also