팀 개발을 위한 Git, GitHub 시작하기(정호영, 진유림 지음)으로 공부한 내용을 정리한 글입니다.
$ git add new_file.txt
$ git commit --amend
amend 명령어를 통해서 기존 커밋에 추가할 수 있음amend 명령어로 커밋 메시지도 수정할 수 있음push된 커밋을 amend로 수정한 경우 원격저장소에 force push하여 변경된 커밋으로 덮어 씌워야 함$ git cherry-pick [selected commit id]
branch에 속한 커밋 중 원하는 하나만 현재 branch로 반영하는 기능branch로 반영되지 않음$ git reset --mixed [commit]
$ git reset --soft [commit]
$ git reset --hard [commit]
branch를 옛날 커밋으로 되돌리는 기능--mixed: reset의 기본 옵션으로, 선택한 커밋 이후의 변경사항들은 없애지 않고 unstaged 상태(untracked 혹은 modified)로 남겨두는 옵션--soft: --mixed와 유사하지만 변경사항들을 staged 상태로 남겨두는 옵션--hard: 변경사항들을 모두 없애고 완전히 깔끔한 상태로 변경하는 옵션$ git revert [commit]
reset할 수도 있지만, 변경사항 되돌리는 커밋을 새로 생성하는 것이 더 좋음revert: 선택한 커밋 이전의 커밋 상태를 가지고 와서 새로운 커밋을 생성하는 명령어$ git stash
$ git stash apply
stash: 커밋하지 않은 변경 사항을 서랍에 넣어두기stash apply 서랍에 넣어둔 작업들을 다시 가져오기tracked 상태인 파일들만 서랍에 넣을 수 있음