바이오 대표

[Github] Branch ( git branch, -d, merge ) 본문

Programming enviorment

[Github] Branch ( git branch, -d, merge )

바이오 대표 2022. 1. 8. 20:39
git branch <name> Creates the branch
git branch -d <name> Deletes the branch
git branch -D <name> Forcibly deletes the branch
git checkout <branch> Switches to a branch.
git checkout -b <branch> Creates a new branch and switches to it.
git merge <branch> Merge joins branches together.
git merge --abort If there are merge conflicts (meaning files are incompatible), --abort can be used to abort the merge action.
git log --graph --online This shows a summarized view of the commit history for a repo.

 

Github 저장소 = Master branch + 그냥 branches

* Master branch: default branch that git creates for you when a new repository is initialized

* Branch: a pointer to a particular commit  (독립적으로 수정 및 테스트 후에 master 에 merge 할 수 있다)

 

  • Branch 만들기   git branch
  • Branch 지우기   git branch - d
  • Branch 합치기   git merge

 

 

< 새로운 Branches 만들기

만들기 

$ git branch [new branch name]

 

Branch 위치 이동  

$ git checkout -b [another new branch]

- b: new branch 가 만들어지면서 switch to it 가능 

 

$ git checkout [new branch name] 새로운 branch 가 만들어지면서 해당 branch로 이동 

-- check out :  the latest snapshot for both files and for branches 

현재 barnch 가 * 초록색으로 나타난다

 

 

< Working with Branches > 

Branch 위치 및 로그 확인하디 

$ git stutus 으로 branch 어디 있는지 알수 있어

$ git log 

* master 에서 git log 를 확인하면 master 에서 바뀐 log 만 가능하다. 

 

Delete 

$ git branch - d    # delete unwanted branch

# merging 안하고 지우려고 하면 error 뜨고 -D flag 이용해야한다

 

 

 

< Merging >  = combing branched data and history together 

$ git merge 

    [1] fast forward  (doesn't diverse)

   [2] three-way merge (diverged)  --> git try to commit in combind ???? 

 

 

 

< Merge Conflicts > 

하나의 파일을 Master branch에서, 그리고 Branch 1 에서도 바꾸면 merge 를 할 때 conflict 가 생긴다

보통은 자동으로 three-way merge 로 합쳐진다.

 

$ git log --graph --oneline  하면 commit messages 만 알려줘서 한눈에 흐름을 볼 수 있다.

$ git merge --abort 하면 merge 하기 전상태로 돌려준다. 

 

 

* changes represented by HEAD are between the <<<<<<< HEAD and ======= lines.