Git 저장소로 지정
$ git init
tutorial 폴더에 myfile.txt 이라는 이름으로 파일을 만든 후 커밋
$ git add myfile.txt
$ git commit -m "first commit"
[master (root-commit) a73ae49] first commit
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 myfile.txt
branch 란 명령어 사용해 새로운 브랜치를 작성
$ git branch <branchname>
브랜치 목록 전체를 확인하는 방법 (앞 부분에 * 이 붙어있는 것이 현재 선택된 브랜치)
$ git branch
브랜치를 사용하여 어떤 작업을 수행하려면, 이 브랜치를 사용 하겠다고 명시적으로 지정해 주어야 합니다.
이 때 사용하는 명령어가 바로 checkout(사용할 브랜치를 지정하는 것).
$ git checkout <branch>
** checkout 명령에 -b 옵션을 넣으면 브랜치 작성과 체크아웃을 한꺼번에 실행
$ git checkout -b <branch>
<branch> 브랜치를 체크아웃한 상태에서 커밋을 수행하면, <branch>브랜치에 그 이력이 기록.
** add: 변경 사항을 만들어서 인덱스에 등록해보기
commit 명령어에 -m 옵션을 넣으면 커밋 설명을 포함시킬 수 있습니다.
$ git add myfile.txt
$ git commit -m "add 설명을 추가"
[issue1 b2b23c4] add 설명을 추가
1 files changed, 1 insertions(+), 0 deletions(-)
브랜치에 병합
브랜치 병합은 merge 명령어로 실행
병합할 커밋 이름을 넣어 실행하면, 지정한 커밋 내용이 'HEAD'가 가리키고 있는 브랜치에 넣어짐.
'HEAD'는 현재 사용중인 브랜치에 위치하게 됨.
$ git merge <commit>
'master' 브랜치에 'issue1'를 넣기 위해서는 우선 'master' 브랜치에 'HEAD'가 위치하게 만들어야 한다.
이 때에는 checkout 명령어를 이용하여 현재 사용중인 브랜치를 'master'로 전환.
병합하기 전에 myfile.txt 파일을 열어 내용을 확인.
파일 편집은 'issue1' 브랜치에서 실행 했기 때문에 'master' 브랜치로 브랜치를 전환한 지금, myfile.txt 파일을 확인했을 때 그 내용이 변경되어 있지 않아야 함.
$ git checkout master
Switched to branch 'master'
$ git merge issue1
브랜치 삭제
브랜치를 삭제하려면 branch 명령에 -d 옵션을 지정하여 실행.
$ git branch -d <branchname>
'issue2' 와 'issue3' 브랜치를 만든 후, 'issue2' 브랜치로 전환
$ git branch issue2
$ git branch issue3
$ git checkout issue2
Switched to branch 'issue2'
$ git branch
* issue2
issue3
master
add: 변경 사항을 만들어서 인덱스에 등록해보기
commit: 인덱스 상태를 기록하기
'issue2' 브랜치의 myfile.txt 에 아래와 같이 commit 에 대한 설명을 추가하여 커밋
$ git add myfile.txt
$ git commit -m "commit의 설명 추가"
[issue2 8f7aa27] commit의 설명 추가
1 files changed, 2 insertions(+), 0 deletions(-)
'issue3' 브랜치로 전환
$ git checkout issue3
Switched to branch 'issue3'
myfile.txt 파일을 열어 내용을 확인. commit 명령의 설명은 'issue2' 브랜치에서 추가했기 때문에, 'issue3' 브랜치로 전환한 후의 myfile.txt 파일에는 add 명령의 설명 밖에 없음.
$ git add myfile.txt
$ git commit -m "pull 설명을 추가"
[issue3 e5f91ac] pull 설명을 추가
1 files changed, 2 insertions(+), 0 deletions(-)
pull: 원격 저장소의 내용을 가져오기
'git' 카테고리의 다른 글
원격 브런치 삭제하기 (0) | 2021.12.14 |
---|---|
SourceTree 용어 (0) | 2021.05.07 |
[소스트리] Rebase(재배치) / Enable Force push(강제 푸쉬) 사용 (0) | 2021.03.02 |
git branch (step3. rebase 로 병합) (0) | 2021.02.26 |
git branch (step2. 병합할 때 발생하는 충돌 해결) (0) | 2021.02.26 |