1. 원격으로 커밋 밀어올리기(push)
-
Leopards의
members
에Evie
추가- 커밋 메시지:
Add Evie to Leopards
- 커밋 메시지:
-
아래 명령어로 push
git push
- 이미
git push -u origin main
으로 대상 원격 브랜치가 지정되었기 때문에 가능
- 이미
-
GitHub 페이지에서 확인
- GitHub의 파일들과 커밋 내역 확인
2. 원격의 커밋 당겨오기(pull)
-
GitHub에서 Leopards의
members
에Dongho
추가- 커밋 메시지:
Add Dongho to Leopards
- 커밋 메시지:
-
아래 명령어로 pull
git pull
- 로컬에서 파일과 로그 살펴보기
3. pull 할 것이 있을 때 push를 하면?
-
로컬에서 Leopards의
manager
를Dooli
로 수정- 커밋 메시지:
Edit Leopards manager
- 커밋 메시지:
-
GitHub에서 Leopards의
coach
를Lupi
로 수정- 커밋 메시지:
Edit Leopards coach
- 커밋 메시지:
-
push 해보기
- 원격에 먼저 적용된 새 버전이 있으므로 적용 불가
- pull 해서 원격의 버전을 받아온 다음 push 가능
-
push 할 것이 있을 시 pull 하는 두 가지 방법
-
git pull --no-rebase
- merge 방식- 소스트리에서 확인해보기
reset
으로 되돌린 다음 아래 방식도 해보기
-
git pull --rebase
- rebase 방식- pull 상의 rebase는 다름 (협업시 사용 OK)
-
- push하기
이부분에서 충돌이 발생했다면?
영상에서와 같이, manager 줄과 coach 줄 사이에 빈 줄이 하나 있는지 확인하세요.
Git은 같은 파일의 같은 부분에 양쪽에서 수정사항이 있을 때 이를 충돌로 인식합니다.
...
manager: Dooli
(빈 줄 - 윗부분과 아랫부분을 나눠주는 경계가 됨)
coach: Lupi
...
영상처럼 빈 줄을 넣으셨다면 이것이 manager 부분과 coach 부분의 경계로 작용하지만
이들을 붙여서 넣으셨다면 한 부분으로 인식되어 충돌로 분류되는 것입니다.
반드시 모든 세부사항을 영상에서와 똑같이 진행해주세요.
4. 협업상 충돌 발생 해결하기
-
로컬에서 Panthers에
Maruchi
추가- 커밋 메시지:
Add Maruchi to Panthers
- 커밋 메시지:
-
원격에서 Panthers에
Arachi
추가- 커밋 메시지:
Add Arachi to Panthers
- 커밋 메시지:
-
pull 하여 충돌상황 마주하기
--no-rebase
와--rebase
모두 해 볼 것
5. 로컬의 내역 강제 push해보기
- 로컬의 내역 충돌 전으로
reset
- 아래 명령어로 원격에 강제 적용
git push --force