Remote Repository 생성
Local Repository에 Clone
cd Documents/git_ws
git clone https://<username>:<token>@github.com/<repository>.git
cd merge_project
실습환경 체크
파일 추가 후 저장
cat > test.txt
my name is noma. + ctrl + D
git status
git add test.txt
git status
git commit -m "create" test.txt
git status
cat test.txt
Branch 생성 후 파일 수정
git checkout -b dev
cat >> test.txt
are you? + ctrl + D
cat test.txt
git status
git add test.txt
git status
git commit -m “modify 1" test.txt
git status
Git Log 확인
git log
Git Configuration 파일 열기
git config --global -e
위 코드를 실행하면 VSCode가 열리게 됨.
(앞에서 VSCode가 실행되도록 설정해주었기 때문)
Git Merge 설정 추가 + 저장 + 종료
[merge]
tool = vscode
[mergetool "vscode"]
cmd = "code --wait $MERGED"
Git Merge
git merge <branchname>
Main Branch로 이동
git checkout main
cat test.txt
git branch
Dev Branch Merge
git merge dev
cat test.txt
Log
git log
Merge Conflict
Main Branch에서 파일 수정
git branch
cat test.txt
cat > test.txt
hello, noma. + ctrl + D
git commit -m "reset" test.txt
Conflict Test를 위한 Branch 생성
git branch dev2
Main Branch에서 파일 수정
git branch
cat > test.txt
hello, zero.
git commit -m "modify -zero" test.txt
Dev2 Branch에서 파일 수정
git checkout dev2
cat test.txt
cat > test.txt
hello, base. + ctrl + D
git commit -m "modify -base" test.txt
Main Branch에서 Dev2 Merge
git checkout main
git merge dev2
MergeTool 실행
git mergetool
VSCode에서 Conflict 파일 수정
Main Branch와 Dev2 Branch의 Diff를 <<<<, ====, >>>>
로 표시
둘 중 맞는 코드를 선택하여 수정하고 저장. (Diff 표시 부분도 삭제)
Conflict 해제
git status
git add test.txt
git commit
Git Log로 확인
git log
cd Documents/git_ws
mkdir conflict_project
cd conflict_project
git init
(1) [master]에서 conflict.txt 생성 후 commit : This is
cat > conflict.txt
This is + ctrl + D
cat conflict.txt
git status
git add conflict.txt
git status
(2) [master]에서 Branch 생성 후 이동 : dev
git checkout -b dev
(3) [dev]에서 conflict.txt 수정 후 commit : This is merge test.
cat > conflict.txt
This is merge test. + ctrl + D
cat conflict.txt
git status
git add conflict.txt
git status
git commit -m 'modify' conflict.txt
(4) [master]에서 [dev] Merge
git checkout master
cat conflict.txt
git merge dev
cat conflict.txt
(1) [master]에서 Branch 생성 (이동 X) : dev2
git branch dev2
git branch
cat conflict.txt
(2) [master]에서 conflict.txt 수정 후 commit : This is conflict test.
cat > conflict.txt
This is conflict test. + ctrl + D
cat conflict.txt
git commit -m 'modify -conflict' conflict.txt
(3) [dev2]에서 conflict.txt 수정 후 commit : This is log test.
git checkout dev2
cat > conflict.txt
This is log test. + ctrl + D
cat conflict.txt
git commit -m 'modify -log' conflict.txt
(4) [master]에서 [dev2] Merge : Conflict 발생 확인
git checkout master
git merge dev2
git mergetool
git status
git add conflict.txt
git commit