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 |
댓글 영역