[GIT] 팀 프로젝트 merge시 사용했던 명령어

merge 실수 관련 명령어
- revert : 현재에 있으면서 과거의 특정 사건(commit)들만 없던 일로 만든다.
- git revert HEAD -m 1
- 과거의 커밋내용이 merge할 때 다른 브랜치에 영향을 주어 2번 방법을 사용
- reset : 시간을 아예 과거의 특정 사건(commit)으로 되돌린다.
- git reset HEAD^ : 최신 commit 없애버리기
- git push origin origin/OOO-- force: no-ff 옵션 붙여 merge했을 때 push가 안되면 강제로 올리기
merge 실수 관련 명령어
- git merge origin/OOO : merge
- git merge --abort : merge 명령어 취소
- git reset --hard HEAD: 병합 후 편집까지 했지만, 취소하고 싶을 때
- git merge -Xours targetBranch : 현재 브랜치 기준으로 덮어씀 (use our sources)
- git merge -Xtheirs targetBranch : 타겟 브랜치 기준으로 덮어씀 (use their sources)
- git status: 현재 상태를 확인
- git log: 커밋 현황을 파악
merge confilct: three-way-merge
그동안 병합충돌은 어느 방식에서든 같은 파일의 같은 곳을 수정하면 무조건적으로 일어나는 것이라고 생각했었다. 근데 해당 충돌이 일어나는 방식은 3-way-merge에서만 발생하는 것!