reset?
: HEAD가 가리키던 branch가 가리키는 commit을 바꾸는 것
* reset이후 커밋들이 삭제되는 것은 아님
rebased?
: 현재 브랜치의 베이스를 [브랜치명]으로 재지정
Merge vs rebase ?
1. rebase는 새로운 커밋을 만들지 않는다.
2. rebase로 만들어진 커밋 히스토리는 merge로 만들어진 커밋 히스토리보다 조금 더 깔끔하다.
* 결과물은 같다! 두 브랜치를 합쳤다는 정보를 저장하고 싶은 경우 merge 그밖은 rebase를 사용하는 것이 더 깔끔하다.
Stash?
: 최근 커밋 이휴로 작업했던 내용은 모두 스택에 옮겨지고 working directory 내부는 다시 최근 커밋의 상태로 초기화
*error: Your local changes to the following files would be overwritten by checkout: ~ : checkout시 HEAD가 다른 브랜치를 가리키게 되고 그로 인해 working directory에서 수정한 내용이 변경될 수 있다는 뜻 -> 이런경우 stash 사용
명령어
git reflog
: reference log의 줄인말 이후의 커밋을 기록
git log --pretty=oneline -all --graph
: commit 히스토리가 각 branch의 관계를 입체적으로 볼 수 없음
git rebase [브랜치명]
: 현재 브랜치의 베이스를 [브랜치명]으로 재지정
* git rebase --contunue : 컨플릭트가 발생해서 제대로 진행되지 못한 리베이스를 계속 진행
git stash
: working directory에서 작업하던 내용을 깃이 따로 보관(stack에 보관)
git stash list
: stack에 잘 옮겨졌는지 확인하는 명령어
git stash apply [작업내용의 아이디]
: 해당 stack에 있는 내용을 다시 working directory에 가져와서 적용 (나중에 다시 사용하는 경우)
git stash drop [작업내용의 아이디]
: 해당 stash 작업내용을 삭제
git stash pop [작업 내용의 아이디]
: 해당 stack의 작업내용을 적용과 동시에 스택에서 제거 (나중에 다시 사용할 필요가 없는 경우)
https://developing-countries.tistory.com/2
1. Git 기초 용어 설명
Git ? 코드 버전 관리 및 협업 프로그램 * 버전 관리 : 파일의 변화를 시간에 따라 기록했다가 특정 시점의 버전을 불러올 수 있는 기능 Working directory(working tree) ? 작업을 하는 프로젝트 디렉토리 St
developing-countries.tistory.com
'git' 카테고리의 다른 글
[git] pull (0) | 2021.04.26 |
---|---|
[git] branch (0) | 2021.04.16 |
[git] 기본 명령어 정리 (0) | 2021.04.11 |
[git] GitHub 기초 (0) | 2021.04.11 |
[git] 기초 용어 설명 (0) | 2021.04.11 |
댓글