git

Git 가지 치기

danuri 2021. 5. 19. 14:40

Git Branch


Git Branch?

독립적으로 어떤 작업을 진행하기 위한 개념

각각의 Branch는 다른 Branch의 영향을 받지 않음

 

Git Branch의 종류

메인 Branch : 배포할 수 있는 수준의 안정적인 Branch

토픽 Branch : 기능 추가나 버그 수정과 같은 단위 작업을 위한 Branch

 

Git Branch 생성

현재 Branch 확인

git branch

 

Branch 생성

git branch [브랜치명]

 

Branch 전환

git checkout [브랜치명]

 

Git Navigation

checkout은 git log로 확인한 snapshot을 넘나들때도 사용이 가능하다.  

hash 값을 이용하여 과거의 파일 내용을 확인할 수 있다.

git checkout [snapshot hash]

(hash값은 git log --pretty=oneline으로 쉽게 확인할 수 있다)

 

 

Git Merge


 

Git Merge

new_branch의 작업을 끝마치고 master Branch와 병합할 때,

먼저 master Branch로 이동

git checkout master

new_branch와 병합

git merge new_branch

 

Merge된 Branch 목록

git branch --merged

 

Git Branch 삭제

사용을 마친 branch는 보통 삭제한다.

git branch -d [브랜치명]

 

 

Git Merge conflict


Merge conflict

Merge한 두 Branch에서 같은 파일을 변경했을 때 충돌이 발생한다.

 

git status 명령으로 어느 파일에서 충돌이 발생했는지 확인 가능하다.

 

Git Merge 충돌 해결

충돌이 일어난 파일을 열어보면 어느 Branch에서 각각 어떤 내용으로 수정되었는지 확인할 수 있다.

ex) master, new_branch 충돌

<<<<<<< HEAD
def master_javascript() :
'''
    this file is master's javascript func
'''

if __name__ == '__main__' :
    master_javascript()
=======
def perfect_time_check() :
'''
    He is murdering time!
'''
if __name__ == '__main__' :
    perfect_time_check()
>>>>>>> new_branch

 

 

충돌이 발생한 파일을 수정 후 다시 git add, git commit 과정을 거쳐 다시 merge 해준다.