Branch 별 변경이력을 볼 수 있음
git log
- 파일 추가 후 저장
Control + D 키로 입력한 내용 저장
- 파일 수정 후 저장
- Branch 생성 후 이동
dev branch에서 hello.py 내용 수정
- main branch 로그 확인
- dev branch 로 이동 후 로그 확인
- Git Editor 설정
--wait 옵션은 command line 으로 VSCode 를 실행시켰을 경우, VSCode 인스턴스를 닫을 때까지 command 를 대기
git config --global core.editor <editorname> --wait
- Git Configuration 파일 열기
git config --global -e
- Git Diff 설정 추가
[diff]
tool = vscode
[difftool "vscode"]
cmd = "code --wait --diff $LOCAL $REMOTE"
- Git Diff: Local Branch 간 비교
git diff <branch1> <branch2>
git difftool <branch1> <branch2>
- Git Diff: Commit 간 비교
git diff <commithash> <commithash>
- Git Diff: 마지막 Commit과 이전 Commit 비교
git diff HEAD HEAD^
- Git Diff: 마지막 Commit 과 현재 수정사항 확인
git diff HEAD
- Git Diff: Local and Remote 간 비교
git diff <branch> origin/<branch2>
현재 폴더를 VSCode 로 열기 위해 아래와 같은 명령어 입력
log_project % code .
- Git Configuration 파일 열기
git config --global -e
- Git Merge 설정 추가
[merge]
tool = vscode
[mergetool "vscode"]
cmd = "code --wait $MERGED"
현재 위치한 Branch 에 다른 Branch 를 병합
git merge <branchname>
Branch 를 Merge 하는 과정에서 충돌이 날 수 있음
혹은 Push, Pull 하는 과정에서도 충돌이 일어날 수 있음
1. Default Branch 이름 확인 : main or master
2. [master] 에서 conflict.txt 생성 후 commit : This is
3. [master] 에서 Branch 생성 후 이동 : dev
4. [dev] 에서 conflict.txt 수정 후 commit : This is merge test.
5. [master] 에서 [dev] Merge
error가 나지 않고 바로 merge가 된 모습을 확인 할 수 있다.
6. [master] 에서 Branch 생성 (이동 X) : dev2
7. [master] 에서 conflict.txt 수정 후 commit : This is conflict test.
8. [dev2] 에서 conflict.txt 수정 후 commit : This is log test.
조금 전 수정한 내용이 아닌 복사해 온 시점의 conflict.txt로 남아있는 모습을 볼 수 있다.
9. [master] 에서 [dev2] Merge : Conflict 발생 확인
자동으로 merger를 실패했으니 수정해달라는 error 안내를 볼 수 있다.
10. Conflict 해결 : This is conflict test.
바로 커밋되지 않고 설정한 vscode가 열리면서 conflict 난 상황에 대한 메시지를 띄워준다.
저장 후 종료
11. Log 로 확인
파란줄 - master에서 작업한 commit
분홍줄 - dev2에서 따로 작업한 commit
log graph를 보며 두 줄로 따로 작업이 되다가 merge가 되면서 하나로 다시 합쳐지는 모습을 볼 수 있다.
"이 글은 제로베이스 데이터 취업 스쿨 강의를 듣고 작성한 내용으로 제로베이스 데이터 취업 스쿨 강의 자료 일부를 발췌한 내용이 포함되어 있습니다."