git branch생성과 이동, 그리고 branch 간의 차이점을 보는 방법에 대해 알아보겠습니다.
<branch 생성>
git branch: 현재 존재하는 branch의 이름 보기
master는 git의 기본 branch이다.
git branch 브렌치이름: 새로운 branch 생성
exp라는 새로운 branch 생성한 후 exp가 추가된 것을 볼 수 있다.
git checkout 브렌치이름: 브렌치로 이동
exp라는 branch한 후 *표시가 exp로 옮겨진 것을 볼 수 있다.
(<참고> git checkout -b 브렌치이름: 브렌치 생성과 이동을 동시에 할 수 있다. )
exp branch에 새로 commit한 내용을 추가했다.
git log를 통해 새로운 commit "3"이 추가된 것을 볼 수 있다.
git checkout을 통해 다시 master branch로 이동한 후 git log를 보면, 새로운 commit "3"이 추가되지 않은 것을 볼 수 있다.
<branch 간의 차이점>
branch 간의 차이점을 찾는데는 여러가지 방법이 있다.
git log --branches --decorate
commit (exp)는 exp branch에 있는 commit이고,
(HEAD -> master)는 master branch에서 가장 최근의 commit이다.
HEAD -> 의 의미는 지금 branch의 위치를 가르킨다. 위에서 마지막으로 git checkout master를 했기 때문에
HEAD -> master라고 나타난 것이다.
git log --branches --decorate --oneline
한줄로 존재하는 branch간의 차이를 나타낸 것이다.
git log 브렌치이름1..브렌치이름2
브렌치이름1에는 없고 브렌치이름2에만 있는 커밋을 보여준다.
master에는 없고 exp에만 있는 커밋이 "3"이다.
exp에는 없고 master에만 있는 커밋은 없다.
<branch 병합>
exp에서 작업한 내용을 master에서도 동일하도록 합병해보겠다. 그러려면 master branch에서 병합을 시행해야 한다.
git merge
git merge 후 git log master..exp를 통해 master에는 없고 exp에만 있는 커밋이 없다는 것을 볼 수 있다.
2 way merge와 3 way merge의 차이점
출처:
https://www.youtube.com/playlist?list=PLuHgQVnccGMA8iwZwrGyNXCGy2LAAsTXk
[git] git tag생성, 삭제, github에 연동하기 (0) | 2022.01.12 |
---|---|
[git] 원격저장소 이용하기, ssh을 이용한 원격저장 (github) (0) | 2022.01.11 |
[git] git 삭제와 복구 (git reset, git reset --hard ORIG_HEAD) (0) | 2022.01.10 |
[git 명령어] git 기본 명령어 (status, add, commit, log) (0) | 2022.01.09 |
댓글 영역