22.03.31. write
git add
후 취소 : git reset HEAD [file]
file명이 없는 경우에 모든 add를 취소한다.
git commit 취소하기
완료한 commit을 취소하는 경우는 다음과 같다.
// 올려야하는 파일을 빼먹고 commit했을때 이 명령어를 통해 git commit을 취소할 수 있다.
$ git reset HEAD^
// 1. commit을 취소한 다음 해당 파일들을 staged 상태로 워킹 디렉토리에 보존.
$ git reset --soft HEAD^
// 2. commit을 취소한 다음 해당 파일들을 unstaged 상태로 워킹 디렉토리에 보존. 기본 옵션.
$ git reset --mixed HEAD^
$ git reset HEAD^
$ git reset HEAD~2 // 마지막 2개의 commit을 취소한다.
// 3. commti을 취소한 다음 해당 파일들은 unstaged 상태도 워킹 디렉토리 삭제한다.
$ git reset --hard HEAD^
⭐️ git reset 명령 사용할 때 주의할 점
reset 옵션
commit message를 잘못 적었을 경우에 변경하기
$ git commit --amend
워킹 디렉토리를 원격 저장소의 마지막 commit 상태로 되돌리고 싶으면 $ git reset --hard HEAD
하면 되지만.. 원격 저장소에 있는 마지막 commit 이후의 워킹 디렉토리와 add했던 모든 파일이 사라지므로 쓰지 않는게 좋다.
어제 했던 branch와 git flow 공부를 다시 하게 되었다. branch를 직접 해보았을 때, 순서를 잊어서 엉망이 되긴 했지만 그래도 내가 예상했던 결과보다는 엉망이 아니었다. branch와 merge는 해야하는 순서를 잘 기억해두고 계속 연습하다보면 헷갈릴 일은 없을거라 생각한다. branch 연습
branch를 따로 만들어서 merge를 한 다음에 충돌이 일어난 부분을 수정하고 git add, git commit 한 다음에 git push를 했는데도 불구하고 이미 업데이트가 되었다는 부분을 보고 1차 당황, insights network를 보고 해당 브런치가 사라지고 이름표만 남아서 2차 당황했지만.. 분명 내가 어딘가 실수를 했을거라 생각한다. 그러니 다음에도 똑같이 연습해보려고 한다.
git flow는 흐름을 어느정도 이해는 했지만 완벽히 이해된 것 같지 않아서 내일 아침에 시간이 된다면 git flow를 혼자 연습해보아야겠다. 문제는 이제 git issue로 팀원들과 상호 작용하는 부분이겠다. 많은 어려움이 있겠지만 차근차근 끈기있게 하다보면 할 수 있을거라 믿어야겠다.