Mac용 Visual Studio에서 Git 작업

Important

Mac용 Visual Studio Microsoft 에 따라 2024년 8월 31일에 사용 중지될 예정입니다. 최신 수명 주기 정책입니다. Mac용 Visual Studio 계속 사용할 수 있지만 Mac의 개발자를 위한 몇 가지 다른 옵션(예: VS Code용 새 C# Dev Kit 확장의 미리 보기 버전)이 있습니다.

지원 타임라인 및 대안에 대해 자세히 알아봅니다.

Git은 모든 팀원이 동일한 문서를 동시에 작업할 수 있는 분산형 버전 제어 시스템입니다. 즉, 모든 파일을 포함하는 중앙 서버가 있지만 이 중앙 소스에서 리포지토리를 체크 아웃하면 전체 리포지토리가 로컬 컴퓨터에 복제됩니다.

아래 섹션에서는 Mac용 Visual Studio의 버전 제어에 Git을 사용하는 방법을 살펴봅니다.

Git 버전 제어 메뉴

아래 이미지는 Mac용 Visual Studio의 Git 메뉴에서 제공하는 옵션을 보여 줍니다.

Screenshot of the Git menu in Visual Studio for Mac, showing options for Clone Repository, Pull, Commit or Stash, Push, Switch to branch, Merge, Rebase, Manage branches and remotes, Stash, pop stash, manage stashes, and branch history.

Mac용 Visual Studio에서 Git 커밋 만들기

Git 워크플로의 핵심 부분은 파일을 수정하고 해당 파일의 변경 내용을 커밋하는 것입니다. 이 문서에서 언급하는 GitHub 리포지토리 대신에 GitHub 또는 Azure DevOps와 같이 원하는 Git 공급자를 사용하여 원격으로 작업할 수 있습니다. 또는 공급자 없이 로컬로 작업할 수 있습니다.

Git은 작업할 때 리포지토리에서 파일 변경 내용을 추적하고 리포지토리의 파일을 세 가지 범주로 구분합니다. 해당 변경 내용은 명령줄에 git status 명령을 입력할 때 표시되는 내용과 동일합니다.

  • 수정되지 않은 파일: 해당 파일이 마지막 커밋 이후 변경되지 않았습니다.
  • 수정된 파일: 해당 파일이 마지막 커밋 이후 변경되었지만 다음 커밋을 위해 아직 스테이징하지 않았습니다.
  • 스테이징된 파일: 해당 파일에는 다음 커밋에 추가될 변경 내용이 있습니다.

작업을 수행하는 동안 Mac용 Visual Studio는 Git 변경 내용 창의 변경 내용 섹션에서 프로젝트의 파일 변경 내용을 추적합니다.

Screenshot of the Git Changes window in Visual Studio for Mac, with a launchSettings.json file displayed in the list of Staged files.

준비가 되었을 때 변경 사항을 스테이징하려면 스테이징할 각 파일을 선택하고 스테이징 단추를 클릭하거나 파일을 마우스 오른쪽 단추로 클릭한 다음, 스테이징을 선택합니다.

변경을 스테이징하는 경우 Visual Studio는 스테이징된 변경 사항 섹션을 만듭니다. 스테이징된 변경 사항 섹션의 변경 내용만 다음 커밋에 추가됩니다. 이 작업을 수행하려면 스테이징된 항목 커밋을 선택합니다. 이 동작에 해당하는 명령은 git commit -m "Your commit message"입니다.

Screenshot of the Git changes dialog, with a launchSettings.json file in the list of Changes, and a SubscriptionService.cs file in the list of staged changes. The current branch name is shown at the top of the window, along with Push, Pull, and Commit Staged buttons.

스테이징된 모든 변경 사항을 선택하고 스테이징 해제 단추를 클릭하여 변경 사항을 스테이징 해제할 수도 있습니다. 이 동작에 해당하는 명령은 단일 파일을 스테이징 취소하는 git reset <directory_path> 또는 디렉터리에 있는 모든 파일을 스테이징 취소하는 git reset <file_path>입니다.

또한 스테이징 영역을 건너뛰어 수정된 파일을 스테이징하지 않도록 선택할 수 있습니다. 이 경우 Visual Studio를 사용하여 변경 내용을 스테이징하지 않고도 직접 커밋할 수 있습니다. 커밋 메시지를 입력한 다음, 모두 커밋을 선택합니다. 이 동작에 해당하는 명령은 git commit -a입니다.

또한 Visual Studio는 “...” 단추 아래에 있는 모두 커밋 및 푸시 바로 가기와 모두 커밋 및 동기화 바로 가기를 사용하여 한 번 클릭으로 쉽게 커밋하고 동기화할 수 있습니다. 변경 내용스테이징된 변경 사항 섹션에 있는 파일을 두 번 클릭하면 수정되지 않은 버전의 파일과 한 줄씩 비교를 확인할 수 있습니다.

A screenshot of the comparison view, showing line-by-line differences in changed files.

변경 내용 푸시 및 풀

푸시 및 풀은 Git에서 가장 일반적으로 사용하는 두 가지 작업입니다. 다른 사용자가 원격 리포지토리에 적용한 변경 내용을 동기화하려면 원격 리포지토리에서 해야 합니다. Mac용 Visual Studio에서 Git > 풀 메뉴를 선택하여 이 작업을 수행합니다.

파일을 업데이트하고 검토하여 커밋한 후에는 다른 사용자가 변경 내용에 액세스할 수 있도록 원격 리포지토리에 푸시해야 합니다. Mac용 Visual Studio에서 Git > 푸시 메뉴를 선택하여 이 작업을 수행합니다.

Git 변경 내용 창을 통해 변경 사항을 동시에 커밋하고 푸시할 수도 있습니다.

Screenshot of the git Changes window open, showing a ... menu open with a Commit Staged and Push item highlighted.

책임, 로그, 병합 보기 사용

편집기 창의 위쪽에는 아래와 같이 버전 제어 옵션이 포함된 드롭다운이 있습니다.

Screenshot of a drop down menu with choices for Source, Changes, Blame, and History.

다음과 같은 작업을 수행할 수 있습니다.

  • 소스 - 소스 코드 파일을 표시합니다.
  • 변경 내용 - 로컬 파일과 기본 파일 간의 코드 변경 내용을 표시합니다. 해시가 서로 다른 여러 파일 버전을 비교할 수도 있습니다.
  • 책임 - 각 코드 섹션에 연결된 사용자 이름을 표시합니다.
  • 로그 - 모든 커밋, 시간, 날짜, 메시지 및 파일을 담당하는 사용자를 표시합니다.
  • 병합 - 작업을 커밋할 때 병합 충돌이 발생한 경우에 사용할 수 있습니다. 두 코드 섹션을 깔끔하게 결합할 수 있도록 자신의 변경 내용과 다른 개발자의 변경 내용을 시각적으로 표현합니다.

분기 전환

기본적으로 리포지토리에서 가장 먼저 생성된 분기를 기본 분기라고 합니다. 기본 분기와 다른 분기 간에 기술적인 차이점은 없지만, 기본 분기는 개발 팀에서 '라이브' 또는 '프로덕션' 분기로 간주되는 경우가 대부분입니다.

기본 또는 기타 분기를 분기하여 독립적인 개발 라인을 만들 수 있습니다. 이렇게 하면 특정 시점을 기준으로 기본 분기의 새 버전을 제공하여 '라이브' 분기와 독립적으로 개발할 수 있습니다. 소프트웨어 개발에서 형상을 관리할 때 이러한 방법으로 분기를 사용하는 경우가 많습니다.

사용자는 각 리포지토리에 대해 개수에 제한 없이 분기를 만들 수 있지만, 사용이 끝난 분기는 바로 삭제하여 리포지토리를 깔끔하게 정리하는 것이 좋습니다.

Mac용 Visual Studio에서 분기를 조회하려면 Git > 분기 및 원격 관리...로 이동합니다.

A screenshot of the Manage Branches and Remotes view, with a location branch selected.

다른 분기로 전환하려면 목록에서 해당 분기를 선택하고 분기로 전환 단추를 누릅니다.

새 분기를 만들려면 Git 리포지토리 구성 대화 상자에서 새로 만들기 단추를 선택합니다. 새 분기 이름을 입력하세요.

A screenshot of the create new branch dialog, showing a blank name field and a message listing out allowed characters for the branch name.

원격 분기를 추적 분기로 설정할 수도 있습니다. 추적 분기에 대한 자세한 내용은 Git 설명서를 참조하세요.

솔루션 창에서 프로젝트 이름 옆에 표시된 현재 분기를 확인하세요.

A screenshot of the solution window showing a solution named NetPodcast.Services with a branch name of main in parentheses.

참고 항목