티스토리 뷰

<참조> https://azuredevopslabs.com/labs/azuredevops/git/

 

 

 

 

 

   이번 글에서는 VIsual Studio Code와 Azure DevOps에서 Git을 사용하여 어떻게 소스 버전을 제어할 수 있는지 살펴 보고자 한다. 

   이 랩은 전체 7개의 실습(Exercise)로 이루어져 있으며 그 내용이 방대하여 두 번에 걸쳐 포스팅하려 한다. 이번 글에서는 실습 1~3까지의 내용을 먼저 정리한다.

 

 

 

 

 

개요

Azure DevOps는 Git 및 TFVC(Team Foundation Version Control)의 두 가지 버전 제어 버전을 지원한다. 다음은 두 가지 버전 제어 시스템에 대한 간략한 개요이다.

 

  • TFVC(Team Foundation Version Control) : TFVC는 중앙 집중식 버전 제어 시스템이다. 일반적으로 팀 구성원은 자신의 개발 컴퓨터에 각 파일에 대한 하나의 버전만을 가지고 있다. 이력 데이터(Historical data)는 서버에서만 유지된다. 브랜치는 경로 기반이며 서버에서 작성된다.
  • Git : Git은 분산 버전 제어 시스템이다. Git 리포지토리는 로컬(예 : 개발자 컴퓨터)에 있을 수 있다. 각 개발자는 개발자 컴퓨터에 소스 리포지토리의 복사본을 가지고 있다. 개발자는 자신의 컴퓨터에서 각 변경 사항을 커밋할 수 있고 네트워크 연결 없이도 이력(history) 및 비교(compare)와 같은 버전 제어 작업을 수행할 수 있다. 

새로운 프로젝트의 기본 버전 제어 공급자는 Git이다. TFVC에서 특정한 중앙 집중식 버전 제어 기능이 필요하지 않다면 프로젝트의 버전 제어로 Git을 사용해야 한다.

 

이 랩에서는 Azure DevOps의 중앙 집중식 Git 리포지토리와 쉽게 동기화 할 수 있는 로컬 Git 리포지토리를 설정하는 방법을 배울 것이다. 또한 Git 브랜치 및 병합(merge) 지원에 대해 배울 것이다. Visual Studio Code를 사용하지만 Azure DevOps와 함께 Git 호환 가능한 모든 클라이언트의 사용에 대해서도 동일한 프로세스가 적용된다.

 

 

 

 

 

 

 

 

선행 조건

 

 

 

 

 

 

실습 1: 랩 환경 구성하기

 

과제 1: 비주얼 스튜디오 코드 구성하기

1. Visual Studio Code를 연다. 이 과제에서는 Azure DevOps와 통신하는데 사용되는 Git 자격 증명을 안전하게 저장하도록 Git 자격 증명 도우미를 구성한다. 자격 증명 도우미(credential helper)와 Git ID를 이미 구성한 경우 다음 과제로 건너 뛸 수 있다.

 

2. 메인 메뉴에서 Terminal | New Terminal를 선택하고 터미널 창을 연다.

 

3. 아래 명령을 실행하여 자격증명 도우미를 구성한다.

git config --global credential.helper wincred

 

4. 아래 명령은 Git 커밋에 대한 사용자 이름과 이메일을 구성한다. 원하는 사용자 이름과 이메일로 매개 변수를 바꾸고 실행한다. 

 git config --global user.name "John Doe"
 git config --global user.email johndoe@example.com

 

 

 

 

 

 

 

실습 2: 기존 리포지토리 복제하기

 

과제 1: 기존 리포지토리 복제하기

1. 브라우저 탭에서, Azure DevOps의 팀 프로젝트로 이동한다. 

 

2. Git 저장소의 로컬 사본을 얻는 것을 “복제(clone)”라고 한다. 모든 주류 개발 도구는 이를 지원하며 Azure Repos에 연결하여 최신 소스를 내려 받을 수 있다. Repos 허브로 이동한다.

 

3. Clone을 클릭한다.

4. 리포지토리 복제 URL 옆의 Copy to clipboard 버튼을 클릭한다. 이 URL을 Git 호환 도구에 연결하여 코드베이스 사본을 얻을 수 있다.

 

5. Visual Studio Code 인스턴스를 연다.

 

6. Ctrl+Shift+P을 눌러 Command Palette를 본다. 명령 팔레트는 3rd 확장에서 제공하는 작업을 포함하여 다양한 작업에 쉽고 편리하게 액세스 할 수 있는 방법을 제공한다.

 

7. Git: Clone 명령을 실행한다. "Git"을 타이핑하여 숏리스트에 올리면 도움이 될 수 있다.

8. Repo에서 복사한 URL을 붙여넣 Enter를 누른다.

9. 리포지토리를 복제할 로컬 경로를 선택한다.

 

10. 메시지가 표시되면 Azure DevOps 계정에 로그인 한다.

 

11. 복제가 완료되면 Open Repository를 클릭한다. 프로젝트를 열 때 발생하는 경고는 무시할 수 있다. 솔루션이 빌드 가능한 상태가 아닐 수도 있지만 Git 작업에 집중하고 프로젝트 자체를 빌드할 필요가 없으므로 괜찮다.

 

 

과제 2: 비주얼 스튜디오 코드에 Azure Repos 확장 설치하기

1. Azure Repos 확장은 Azure DevOps의 여러 기능에 편리하게 액세스 할 수 있도록 한다. Extensions 탭에서 "Azure Repos"를 검색하고 Install을 클릭하여 설치한다.

 

2. 확장 설치가 완료되면 Reload를 클릭한다. 이 옵션을 사용할 수 없으면 Visual Studio Code를 다시 연다.

 

3. Ctrl+Shift+P를 눌러 Command Palette를 누른다.

 

4. "Team"으로 검색하여 Azure Repos와 함께 작업하는 경우 사용할 수 있는 모든 새 명령을 확인한다.  Team: Signin을 선택한다.

 

5. Authenticate and get an access token automatically를 선택한다. 수동 경로를 따르는 경우 이전에 생성한 토큰을 제공 할 수도 있다.

 

6. 제공된 토큰을 복사하고 Enter를 눌러 브라우저 탭을 시작한다.

 

7. 코드를 붙여넣고 Next를 클릭한다.

 

8. Azure DevOps 계정과 연결된 Microsoft 계정을 선택한다.

 

9. 프로세스가 완료되면 브라우저 탭을 닫는다. 

 

 

 

 

 

 

실습 3: 커밋(commit)으로 작업 저장하기

 

파일을 변경하면 Git은 로컬 저장소에 변경 사항을 기록한다. 변경 사항을 스테이징하여 커밋하려는 변경 사항을 선택할 수 있다. 커밋은 항상 로컬 Git 리포지토리에 대해 이루어 지므로 커밋이 완벽하거나 다른 사람과 공유 할 준비가 되어있는 것에 대해 걱정할 필요가 없다. 계속 작업하면서 더 많은 커밋을 수행할 수 있으며 다른 사람이 공유받을 준비가 된 경우 해당 변경 사항을 그 사람에게 푸시 할 수 있다.

하나의 커밋 내에는 무엇이 있을까?

Git 커밋은 다음과 같이 구성된다.

  • 커밋으로 변경된 파일. Git은 커밋 내에는 repo의 모든 파일 변경 사항의 내용을 유지한다. 이를 통해 신속하게 유지하고 지능적인 병합이 가능하도록 해준다.
  • 부모(parent) 커밋에 대한 참조. Git은 이러한 참조를 사용하여 코드 히스토리를 관리한다.
  • 커밋을 설명하는 메시지. 우리는 커밋을 생성할 때 메시지를 Git에 제공한다. 이 메시지에는 설명을 기술하되 요점을 담는 것이 좋다. 

 

 

과제 1: 변경 사항 커밋하기

1. Explorer tab탭에서 /PartsUnlimited-aspnet45/src/PartsUnlimitedWebsite/Models/CartItem.cs를 연다. 

 

2. 파일에 주석을 추가한다. 단지 변경이 목적이므로 어떤 주석이던 중요하지 않다. Ctrl+S를 눌러 파일을 저장한다.

 

3. 소스 제어 탭을 선택하여 솔루션에 대한 변경 사항을 확인한다.

 

4. “My commit”의 커밋 메시지를 입력하고 Ctrl+Enter를 눌러 로컬로 커밋한다.

 

5. 변경 사항을 자동으로 스테이징하고 직접 커밋할지 묻는 메시지가 표시되면 Always을 클릭한다. 나중에 랩에서 staging를 논의 할 것이다.

 

6. Synchronize Changes 버튼를 클릭하여 변경 사항을 서버와 동기화 한다. 메시지가 표시되면 동기화를 확인한다.

 

 

과제 2: 커밋 검토하기

1. Azure DevOps 브라우저 탭으로 전환한다. Repos 허브의 Commits 탭에서 Azure DevOps의 최근 커밋을 검토 할 수 있다. 

 

2. 최근 커밋이 맨 위에 있어야 한다.

 

 

과제 3: 변경 사항 스테이징하기

스테이징 변경 사항을 사용하면 다른 파일에서 작성된 변경 사항을 전달하면서 커밋에 특정 파일을 선택적으로 추가 할 수 있다.

 

1. Visual Studio Code로 돌아간다. 

 

2. 앞서 작성한 주석을 편집하여 파일을 저장하고 열린 CartItem.cs 클래스를 업데이트 한다.

 

3. Category.cs도 연다.

 

4. Category.cs에 새 주석을 추가하면 변경 사항을 가지는 두 개의 파일이 존재하게 된다. 파일을 저장한다.

 

5. Source Control 탭에서 CartItem.cs의 Stage Changes 버튼을 클릭한다.

 

6. 이렇게하면 CartItem.cs가 Category.cs를 빼고 커밋 할 수 있도록 준비된다.

 

7. “Added comments”라고 커멘트를 입력한다. More Actions 드롭다운에서 Commit Staged를 선택한다.

 

8. 커밋된 변경 내용을 서버와 동기화하려면 Synchronize Changes 버튼을 클릭한다. 단계적 변경 사항만 커밋 되었으므로 다른 변경 사항은 여전히 로컬에 보류 중이다.

 

2편에서 계속.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함