본문 바로가기
Git

Git 워크플로우-Advanced

by SeanK 2021. 10. 15.

 

 

 

Basic에서는 포크를 통해 파일을 내 워크스페이스로 옮겨와서 작업을 하고 Pull Request를 하는 방법을 알아보았다.

이번에는 다른 사람들과 협을 할 때의 워크플로우를 알아보자

 

 

 

 

1. Init

 

명령어 

git init

 

프로젝트를 시작하면서 내 컴퓨터에 새로운 디렉토리를 만들었다면 이 디렉토리는 내 컴퓨터에만 존재하는 상태다. init을 이용하면 새로만든 디렉토리를 Git의 관리하에 있는 Git Repository(Local Repository)로 변환이 가능하다.

새로운 Repository를 초기화하는 데에도 사용한다.

 

 

 

 

2. Remote add origin

 

명령어

git remote add origin

 

init을 통해 Local Repository를 생성했다면 이제는 Local을 Remote에 연결해 다른사람들과의 협업이 가능하도록 할 차례다. 

git remote add origin(내 remote repository주소)를  입력하면 local repository가 remote와 연결된다.

 

 

 

 

3. Remote add 'Repository name'

 

명령어

git remote add 'Repository name' 'Repository 주소'

 

git remote add origin은 local을 나의 remote repository에 연결하는 명령문이었다. 그렇다면 다른 사람의 remote repository에 연결을 하려면 어떻게 해야할까?

답은 간단하다. 나의 remote repository에 연결하기 위해 사용했던 origin 대신에 연결하고픈 repository의 이름과 주소를 입력하면 끗!

 

 

 

 

4. Remote -V

 

명령어

git remote -v

 

만약 local repository가 어떤 remote repository와 연결되어 있는지 확인하고 싶다면, git remote -v로 확인할 수 있다. 

 

 

 

 

5. Pull

 

명령어

git pull 'Repository name' 'branch'

 

만약에 협업을 하는 동료가 새로운 코드를 짜서 repository에 올려놓은 상태라면, pull 명령을 통해 변경된 내용을 local로 옮겨올 수 있다. 만약 master branch에 올려 놓았다면 'branch'에 master를 입력하면 된다. 받아오는 내용은 자동으로 병합(merge) 된다.

 

 

 

 

6. Merge

 

만약 pull을 통해 병합을 시도했는데, 우연히 동료와 같은 부분을 변경했다면 충돌이 발생하며 Automatic merge에 실패하게 된다. 

이럴 땐, git status를 통해 어떤 파일이 충돌하고 있는지 알 수 있다. 충돌하는 파일을 확인했으면 일일이 파일을 열어서 충돌을 해결해야한다. 

  • Accept Current Change: 내가 수정한 내용으로 파일에 반영
  • Accept Incoming Change: Remote Repository의 내용으로 반영
  • Accept Both Changes: 변경 사항 모두 반영

수정을 마치면 파일을 staging area로 추가해야 한다.  이때 cmommit을 merge commit이라 하는데 merge commit의 경우 자동으로 메세지가 생성된다. 

 

 

 

 

7. Push

 

Merge가 완료되면 파일/폴더를 commit하고 push하면 끗!