[Git] Github 협업하기 + 충돌해결하기

반응형

01 Github 협업하기


1. 협력자(collaborator) 등록하기

레포지토리를 팀장(혹은 담당자)이 생성하여 다른 팀원들을 추가하기 위해 add people 한다. 

 

2. 팀원들의 username 혹은 email 추가

팀원들은 해당 초대를 수락하면 같이 협업이 가능하다.

 

3. 코드 복사해오기 git clone

팀원들 입장은 올라와 있는 code를 받아오기 위해 해당 code 코드 버튼을 클릭 후 주소 복사를 복사한다.

또한, vscode에서 git clone 주소 .  (띄어쓰기 후 끝에 점 붙여넣기)를 해주어 통째로 가지고 온다.

 

 

02 협업시 코드 수정


수정한 코드 저장를 저장한 후 명령어 실행하는데 기존과 동일하게 명령어를 사용한다.

git add . & git commit -m "메시지"
git push origin 브랜치명

브랜치명의 경우 git branch를 통해 확인하거나 git status를 통해 branch명 확인이 가능하다.

BUT!!! 다른 사람이 변경한 상태에서 내가 수정한 파일을 올리면 git push가 안된다. 그래서 우선 다른 사람이 변경한 코드를 내 코드로 가져온 후에 수정하여 다시 올려주면 해결이 된다.

 

🤚 다른 사람이 변경한 코드 내 코드로 가져오기 🤚

먼저, git push 명령어를 실행하기 전 다른 사람의 수정 코드를 가져오기 위해 git pull 명령어를 사용한다.

여기서 git pull의 경우 변경사항만 가져올 때 사용을 하고 git clone은 전체 코드를 통째로 가져올 때 사용을 한다는 차이점이 있다.

git pull origin main

 

 

03 충돌 해결하기


git pull 명령어를 사용했는데 오류 발생했을때에는 같은 파일에서 같은 위치에 코드가 변경되었기 때문인 경우가 있다.

A 개발자 : index.html의 2번째 줄 코드 변경
B 개발자 : index.html의 2번쨰 줄 코드 변경

 

내가 2번째 줄을 수정했는데 다른 개발자도 2번째 줄을 수정하여 코드를 올렸을때 그것을 git pull 명령어를 통해 댕겨오게 되면 내가 수정한 코드와 다른 개발자가 수정했던 코드가 겹치면서 문제 발생하게 된다. 이럴땐 앞의 내용을 다른 팀원들과 상의 후에 삭제하고 원하는 코드로 수정하면 문제가 해결된다.

<<<<Head
=====================
>>>>4182---
(상의 후 삭제, 그 다음 원하는 코드로 수정)

 

반응형