본문 바로가기
git

[git] branch

by 상국이 2021. 4. 16.
728x90

branch?

 :  git에서의 나뭇가지 형태의 코드관리 흐름

 

Master branch ?

 : Repository를 만들고 commit을 하면 기본으로 세팅되는  branch

 

branch merge?

 : 다른 branch에서 한 commit을 다른 branch에도 반영

 

Conflict?

 : merge중 충돌이 발생한 경우

* 컴플릭트 해결 방법

-  컴플릭가 발생한 부분을 삭제하고 결과가 되었으면 하는 코드로 수정 후 커밋.

- merge 자체를 취소한다. (git merge --abort)

* 컴플릭트를 해결한 경우 : Merge branch '브랜치명' into 브랜치명 

 

Resolved?

 : confilct가 해결된 상태

 

Origin?

 : git에서 리모트 레포지토리를 최초로 추가할 때 사용하는 이름(관례)

 

tracking?

 : 로컬 레포지토리의 한 브랜치가 기모트 레포지토리의 한 브랜치와 연결되어 그것을 계속 바라보는 상태가 되는 것

* 이렇게 맺어진 연결 상태를 tracking connection이라고 한다.

* tracking connection으로 설정되면 push, pull 명렁어만 사용하여도 해당 브랜치를 대상으로 명령이 동작한다.

 

HEAD?

 : branch를 통해 commit을 가리킴

 * HEAD를 이동시켜 과거의 커밋으로 reset한다고 이후의 커밋들이 삭제되는 것이 아님

 

Merge Commit?

 : HEAD가 가리키던 커밋에 다른 브랜치가 가리키던 커밋을 합쳐 새로운 커밋을 만드는 작업

* merge를 한다고 항상 새로운 커밋이 생기는 것은 아님

 -> (Fast-forward merge : 새로운 커밋이 생기는게 아니라 단지 브랜치가 이동하게 되는 merge)

 

3-way merge?

    1. 두 갈래 이상으로 갈라지기 전 공통 parent이 되는 커밋

    2. 한 브랜치가 가리키는 커밋

    3. 다른 브랜치가 가리키는 커밋

명령어

git branch

 : 전체 branch를 조회

 

git branch [브랜치 이름]

 : branch 생성

 

git branch -d [브랜치 이름]

 : 해당 branch 삭제

 

git checkout -b [브랜치 이름]

 : branch 생성 및 바로 이동

 

git merge [브랜치 이름]

 : 해당 branch에서 한 커밋을 다른 branch에도 반영

 

git merge --abort

 : merge를 취소 (merge하기 이전의 상태로 돌아가기)

 

git remote add origin "git url'

 : remote 레포지토리에 관한 작업을 할 때 쓰는 커맨드 (리모트 레포지토리를 origin이라는 이름으로 등록)

 

git push -u origin master

 : 현재 로컬 레포지토리에 있는 master브랜치의 내용을 origin이라는 리모트 레포지토리로 보낸다.

    만약 origin이라는 리모트 레포지토리에 master 브랜치가 없으면 master브랜치를 새로 생성하고 푸시

 * -u (--set-upstream) : 로컬 레포지토리에 있는 master 브랜치가 origin에 있는 master 브랜치를 tracking하는 것으로 설정

 * fatal : The current branch ____ has no upstream branch : 로컬 레포지토리의 내용을 리모트 레포지토리로 첫 push해주면 해결!

 

https://developing-countries.tistory.com/6

 

5. pull

pull?  : remote repository의 branch를 가져와서 현 branch에 merge하는 것  * 컴플릭트가 발생할 수 있음 fetch?  : remote repository에서 가져온 branch의 내용을 merge하기 전에 비교하고 싶은 경우 사용..

developing-countries.tistory.com

 

728x90

'git' 카테고리의 다른 글

[git] stash  (0) 2021.04.26
[git] pull  (0) 2021.04.26
[git] 기본 명령어 정리  (0) 2021.04.11
[git] GitHub 기초  (0) 2021.04.11
[git] 기초 용어 설명  (0) 2021.04.11

댓글