공부/Git 시작하기

3. Git & Branch

state 2022. 7. 5. 15:53

1. Git의 버전관리 시스템에서 여러 갈래로 퍼저나가는 데이터 흐름으로 사용한다. git으로 버전관리를 시작하면 기본적으로 master branch가 만들어지고, 커밋할 때 마다 master branch는 최신 커밋을 가리킨다. 새 branch를 만들면 기존에 저장한 파일을 master branch에 저장하면서 새로운 파일을 생성할 수 있는데 이를 분기한다고 한다. 새 branch에서 원래 master 브랜치에 합치는 것을 병합, merge 라고 한다.

 

2.

$ git branch :  브랜치를 만들거나 확인함. 현재 branch를 표시함

$ git branch apple :  apple 이라는 branch를 만듦 , 바로 이동하지 않음

google, ms branch를 추가 생성한 다음

$ git checkout apple : apple branch로 체크아웃, 이동 한다.

apple branch에서 cat work.txt로 내용을 확인하면 content 3 까지만 표시된다

 

3.

apple branch에서 work.txt에 'apple content 4'를 추가하고 저장

$ vim apple.txt로 새로운 파일도 만들고

$ git add . 으로 2개의 파일을 동시에 staging하고 "apple content 4" 메시지와 커밋하자

 

$ git log --oneline --branches --graph: --한 줄로 --각 branch의 커밋을 --그래프로 볼 수 있다

저게 그래프인가 싶긴 하다.

 

$git log master ..apple : branch 간의 차이를 확인할 수 있다. >> 순서는 master에는 없고 apple에만 있는 커밋을 보여준다

 

4.

$cd ~

$git init manual-2

$cd manual-2

$ls -la

$vim work.txt 에 '1' 입력 후 'work 1' 메시지와 커밋

$ git branch o2 로 새로운 branch를 만들고

현재 master branch에 master.txt라는 파일에 'master 2'라고 입력하고 'master work 2' 메시지와 저장

 

$ git checkout o2

$vim o2.txt > o2 2라고 저장

$ git add o2.txt

$ git commit -m "ow work2"

 

$ git log --oneline --branches --graph 로 커밋 상태를 확인해보자

$ git checkout master

$ git merge o2 를 하면 master브랜치에 o2 branch를 병합할 수 있다

 

$ git merge o2 --no-edit >> 브랜치를 병합할 때 편집기 실행을 하지 않는다

$ git merge o2 --edit >> 다시 메시지를 추가,수정 하고 싶다면

 

병합이 끝난 다음 사용하지 않는 branch를 git에서 삭제할 수 있는데 같은 이름의 branch를 다시 생성하면

예전 내용을 그대로 다시 볼 수 있다

 

 $ git checkout master

 $ git branch -d o2 : -d 옵션을 사용하여 branch를 삭제한다

 

 

 

 

5.

test라는 git repository를 생성하고 test directory에서 c1.txt 파일을 만든 다음 커밋한다.

git log 명령을 실행하면 (HEAD -> master) 표시가 뜨는데 HEAD는 현재 working directory가 어느 버전을 기반으로 작업하고 있는지 표시한다.