[Git] 사용법 Together workflow
Git

[Git] 사용법 Together workflow

반응형

요약

1. 내 컴퓨터에서 생성한 디렉토리를 init 명령어를 통해 Git의 관리 하에 들어가게 만들어 줍니다.

2. 내 컴퓨터의 Git 디렉토리를 Remote Repository와 연결시켜 줍니다.

3. pair의 변경 사항과 나의 변경 사항을 Remote Repository를 통해서 공유합니다.

 

Together

 

git init

하고자하는 프로젝트를 내 컴퓨터에만 존재하기 때문에 버전 관리를 위해 먼저 Git Repository로 변환시켜 줘야 합니다.

내 컴퓨터에서 내가 직접 만든 디렉토리를 Git의 관리 하에 들어가게 만들어 주는 명령어는 git init 입니다.

 

Git init을 했을 때 아래의 그림은 디렉토리가 Git Repository로 변환한 것이고, 새로운 Repository 초기화 하는데도 사용합니다.

 

 

git remote add

변환한 Local Repository를 Github에서 원격으로도 관리한다면 나중에 협업이 편리해집니다. 원격으로 관리하기 위해서는 Local Repository를 Remote Repository와 연결하는 작업이 필요합니다.

이 때 git remote add 명령어를 사용할 수 있습니다.

 

git remote add origin <주소>

내 Github에 weatherapp Repository를 하나 만들고 그 Repository 주소를 git remote add origin 명령어 뒤에 입력함으로서 해당 Remote Repository와의 연결이 완료되었습니다. 명령어를 입력했을 때 터미널창에 나타나는 변화는 없습니다.

 

git remote add pair <주소>

remote add를 활용해서 다른 사람의 Repository 와 연결 할 수 있습니다.

Remote Repository를 연결함으로서 Github Repository를 함께 공유할 수 있습니다.

 

아까는 git remote add 뒤에 origin과 내 Repository 주소입력을 하였지만, origin이 아닌 다른 이름과 연결하고자 하는 상대방의 Repository 주소를 입력할 수 있습니다.

상대방의 Repository의 이름은 편의상 pair라고 짓겠습니다. git remote add pair ‘주소’를 입력해 상대방의 Repository와 연결했습니다. 명령어를 입력했을 때 터미널창에 나타나는 변화는 없습니다.

 

git remote -v 

git remote -v 명령어를 통해 현재의 Local Repository와 연결된 모든 Remote Repository 목록을 확인할 수 있습니다.

터미널 창을 확인해 보니 잘 연결 확인이 가능합니다.

 

 

 

git pull pair master

페어가 서버 작업을 완료해서 weatherapp Repository의 master 브랜치에 작업한 코드를 올려 놓았다 할 때에 작업한 내용을 받아와서 확인할 수 있습니다.

git pull pair master 명령어를 통해 페어의 Remote Repository에 있는 작업 내용을 받아올 수 있습니다. 받아오는 내용은 자동으로 병합(merge) 됩니다.

 

충돌 해결 하기

이렇게 항상 문제 없이 수정 내용을 받아와서 자동 병합(merge)시킬 수 있다면 좋겠지만 개발을 하다보면 충돌 상황이 종종 발생합니다.

페어의 작업 내용을 받아오는 와중에 이 때 만일 페어와 내가 동일한 라인을 수정한 파일이 있다면 어떻게 될까요? 이 때는 자동 병합(merge)에 실패하게 되고 충돌이 발생합니다. 터미널 화면에서도 Merge conflict가 발생해서 Automatic merge에 실패했다고 알려주고 있습니다. git status 명령어를 통해 어떤 파일이 충돌하고 있는지 확인할 수 있습니다.

git status 명령어를 통해 어떤 파일이 충돌하고 있는지 확인할 수 있습니다.

 

충돌이 발생한 파일을 열어 보면 어떤 부분에서 충돌이 발생한 것인지 확인할 수 있습니다. 그리고 충돌이 일어난 부분은 하나 하나 직접 확인 후 수정이 필요합니다.

Accept Current Change를 클릭해서 내가 수정한 내용으로 파일에 반영할 수 있습니다.

Accept Incoming Change를 클릭해서 Remote Repository의 내용으로 파일에 반영할 수도 있습니다.

Accept Both Changes는 변경 사항 모두를 반영합니다.

이외에도 직접 파일을 수정해서 반영하는 방법도 있습니다. 수정을 마치면 병합 커밋(merge commit)을 생성해 주기 위해서 파일을 staging area로 추가해야 합니다.

 

충돌한 파일 수정을 완료했다면 Remote Repository에 업로드 하기 위해서 staging area에 파일을 추가합니다. Merge commit은 자동으로 Commit 메시지가 생성됩니다. (물론 메시지를 수정할 수도 있습니다.) git commit 명령어로 자동으로 생성된 commit 메시지를 남겨 보도록 하겠습니다. 그리고 Remote Repository에 Push 한다면 다음 화면과 같이 Merge branch ‘master’ of 라는 commit 메시지가 기록됩니다. Remote Repository로 push가 완료됩니다.

반응형

'Git' 카테고리의 다른 글

[Git] 브랜치 명령어 정리  (0) 2021.08.10
[Git] 브랜치 관리와 고급 기능  (0) 2021.08.10
[Git, Github] 사용법 정리 / workflow  (2) 2021.05.25
[Git] 사용법 Alone workflow  (0) 2021.05.21
[Git] 깃?  (0) 2021.05.21