git init {directory name}
- git init 다음에 디렉터리 이름 입력 시, 새로운 디렉터리를 만들고 저장소를 초기화하는 과정을 한꺼번에 처리 가능
git checkout master
- 브랜치를 병합하려면 master 브랜치로 체크아웃
병합하기(git merge)
git merge {branch name}
- branch name에 기재된 branch와 master 브랜치와 병합
# 커밋 메시지 추가 및 수정 git merge {branch name} --edit
git merge {branch name} --no-edit
- 브랜치 병합 시 편집기 창이 열리지 않게 하는 명령어
- 깃에서는 병합 시 브랜치를 자동으로 합쳐주는 기능이 있음
충돌 발생 시 해결하기
- master 브랜치와 다른 브랜치에 있던 내용이 충돌했기 때문
- 충돌이 생긴 문서는 자동으로 병합될 수 없으므로 사용자가 수동으로 해결해야 함
- master content 2는 현재 브랜치, 즉 master에서 수정한 내용이고, o2 content 2는 병합할 브랜치에서 수정한 내용
- <<<<, >>>>, ==== 등의 기호들과 HEAD를 제거하고 각 내용을 참고하여 파일 내용수정
git commit -am "merge {branch name} branch"
병합이 끝난 브랜치 삭제하기
- 브랜치를 병합한 후 더 이상 사용하지 않는 브랜치는 깃에서 삭제할 수 있음
- 브랜치를 삭제하더라도 다시 같은 이름의 브랜치를 만들면 예전 내용을 다시 볼 수 있음
- branch 조회
git branch
- 저장소의 기본 브랜치는 master이므로, 브랜치 삭제 시 master 브랜치에서 삭제해야함
git checkout master
- 브랜치 삭제하기 : -d 옵션
git branch -d {branch name}
수정 중인 파일 감추거나 되돌리기 - git stash
git stash # git statsh save
- 브랜치에서 파일을 수정하고 커밋하지 않은 상태에서 다른 파일을 커밋해야하는 경우 등에 사용
- 커밋하지 않은 수정 내용을 어딘가에 보관하기
- 감춘 파일들은 git stash list 명령어로 확인 가능
- 가장 먼저 감춘 stash@{0}부터 stash@{1}, stash@{2},..., stash@{n}으로 담기며, 새로운 파일이 추가되면 기존 파일(stash@{0})은 stash@{1}에 담기며, 새로운 파일은 stash@{0}에 담김 --> 스택(stack)처럼 쌓임(선입후출)
git stash pop
- 위 명령어를 통해 가장 최근 항목을 되돌릴 수 있음
- git stash apply : stash 목록에 저장된 수정 내용을 나중에 또 사용할지도 모를 때 사용
- git stash drop : stash 목록에서 가장 최근 항목 삭제
+)
- HEAD는 현재 작업 트리(워킹 디렉터리)가 어떤 버전을 기반으로 작업 중인지 가리키는 포인터
- HEAD는 기본적으로 master 브랜치를 가리킴
- 브랜치는 기본적으로 브랜치에 담긴 커밋 중 가장 최근의 커밋을 가리킴
- git reset 명령 사용 시 HEAD가 가리키고 있는 브랜치의 최신 커밋을 원하는 커밋으로 지정 가능
지금까지의 내용은 Do it! 지옥에서 온 문서 관리자 깃 & 깃허브 입문의 101페이지에서 129페이지를 읽고 정리한 내용이다.
'개발 관련 > git' 카테고리의 다른 글
원격 브랜치 정보 갖고 오기 - git fetch (0) | 2021.09.05 |
---|---|
HEAD -> master, origin/master의 의미 (0) | 2021.09.04 |
브랜치(git branch) - 생성 및 조회 (0) | 2021.09.03 |
되돌리기 - git checkout, git reset, git revert (0) | 2021.09.02 |
커밋한 메시지 수정하기 : --amend (0) | 2021.09.02 |