[개발자 협업 툴 Git 특강](2)

실습 과정은 생략하고 명령어 중심으로 정리해 보았습니다.

reset

git reset --soft HEAD~

커밋을 헤드 앞으로 이동 시킬 때 사용한다.

헤드에 정보만 바뀌었지만 인덱스와 워킹디렉토리의 정보는 그대로 있다.

커밋을 취소하는 개념이며, 커밋이 앞의 커밋으로 옮겨진다.

git reset --mixed

--mixed 옵션을 사용하면, staged 상태인 add 명령어 까지 취소된다.

 

get --reset hard

--hard 옵션을 사용하면, 워킹 디렉토리 내용이 완전히 없어진다.

 

revert

취소하는 커밋을 생성하는 명령어이다. (다른 사람과 작업할 때, 명시적으로 취소하는 명령어인 revert를 써야 파일을 push 할 수 있다.)

 

cherry pick

이미 존재하는 중에 원하는 커밋만 메인브랜치로 가져올 수 있다.

git cherry-pick 'id_1' 'id_2' 'id_3' 'id_4'

복수의 커밋들을 가져올 수도 있다.

 

rebase

rebase는 브랜치를 바꿔주는 역할도 해준다.

rebase -i  명령어를 사용하면 커밋을 수정할 수 있다.

git rebase -i head~10

stash

워킹 디렉토리의 내용을 어딘가에 저장해두는 것

git list
git pop

commit 하지 않은 상태로, 다른 사람들의 작업한 것을 나의 브랜치로 가져오고 싶을 때 주로 사용합니다.