[Git] Ch.4 실무 사례로 Git 다루기

Hwichan Ji·2021년 3월 12일
0

Git

목록 보기
5/8
post-thumbnail

팀 개발을 위한 Git, GitHub 시작하기(정호영, 진유림 지음)으로 공부한 내용을 정리한 글입니다.

amend

$ git add new_file.txt
$ git commit --amend 
  • 커밋에 반영되었어야 할 내용이 누락된 경우 새로운 커밋을 생성할 필요없이, amend 명령어를 통해서 기존 커밋에 추가할 수 있음
  • amend 명령어로 커밋 메시지도 수정할 수 있음
  • 원격저장소에 이미 push된 커밋을 amend로 수정한 경우 원격저장소에 force push하여 변경된 커밋으로 덮어 씌워야 함

cherry-pick

$ git cherry-pick [selected commit id]
  • 다른 branch에 속한 커밋 중 원하는 하나만 현재 branch로 반영하는 기능
  • 선택된 커밋 이전의 커밋이나 이후의 커밋은 현재 branch로 반영되지 않음

reset

$ git reset --mixed [commit]
$ git reset --soft [commit]
$ git reset --hard [commit]
  • branch를 옛날 커밋으로 되돌리는 기능
  • --mixed: reset의 기본 옵션으로, 선택한 커밋 이후의 변경사항들은 없애지 않고 unstaged 상태(untracked 혹은 modified)로 남겨두는 옵션
  • --soft: --mixed와 유사하지만 변경사항들을 staged 상태로 남겨두는 옵션
  • --hard: 변경사항들을 모두 없애고 완전히 깔끔한 상태로 변경하는 옵션

revert

$ git revert [commit]
  • 잘못된 커밋을 생성한 경우 해당 커밋 이전으로 reset할 수도 있지만, 변경사항 되돌리는 커밋을 새로 생성하는 것이 더 좋음
  • revert: 선택한 커밋 이전의 커밋 상태를 가지고 와서 새로운 커밋을 생성하는 명령어
  • 즉, 잘못된 커밋을 제거하는 것이 아닌, 그 이전의 상태로 다시 덮어 씌우는 작업

stash

$ git stash
$ git stash apply
  • stash: 커밋하지 않은 변경 사항을 서랍에 넣어두기
  • stash apply 서랍에 넣어둔 작업들을 다시 가져오기
  • tracked 상태인 파일들만 서랍에 넣을 수 있음
profile
안드로이드 개발자를 꿈꾸는 사람

0개의 댓글