잘못했을 때 수정하기

김수정·2020년 8월 14일
0

커밋 작업

직전 커밋 취소

git reset --hard HEAD~ # 이전 커밋 취소
git commit --amend # staging에 아무것도 올리기 전에 하면 이전 커밋 메시지만 수정, staging에 올려놓고 하면 이전 커밋과 지금 커밋이 합쳐지면서 새로운 커밋 메시지로 변경됨.

이전 커밋 취소

git rebase -i <HEAD 혹은 log> # 되돌리고 싶은 지점까지를 범위로 지정해서 실행합니다.
# 리스트 중에서 수정할 커밋을 pick -> edit으로 변경합니다.
git commit --amend # 커밋 메시지를 바꿉니다. 여기서 파일을 수정해서 add를 한 뒤 amend를 하게되면 해당 커밋은 최신 커밋으로 바뀝니다.
git rebase --continue # 완료.

커밋 합치기

이미 다 완료된 작업들 합치기.

git rebase -i <HEAD 혹은 log>
#합칠 곳을 pick -> squash로 수정

rebase 취소

rebase전의 커밋은 ORIG_HEAD에 남아 있습니다.

git reset --hard ORIG_HEAD # 완료한 rebase 취소
git rebase --abort # 진행 중인 rebase 중지

다른 브랜치 커밋 가져오기

git log --oneline # 가져오고 싶은 커밋 로그6자리 기록해두기
git checkout <branchName> # 커밋을 넣을 브랜치로 이동
git cherry-pick <log> # 커밋 가져오기. 여기서 충돌나면 해결하고 add, commit 다시 하면 됨.

인덱싱(add) 파일 취소

git reset HEAD <file>

푸쉬 취소

https://gmlwjd9405.github.io/2018/05/25/git-add-cancle.html

reset과 revert

reset은 커밋 이력까지 그 당시로 되돌리는 것이고, revert는 이전 이력은 냅두고 커밋의 코드만 원복.
https://medium.com/nonamedeveloper/%EC%B4%88%EB%B3%B4%EC%9A%A9-git-%EB%90%98%EB%8F%8C%EB%A6%AC%EA%B8%B0-reset-revert-d572b4cb0bd5

.gitignore 추적 정리

git rm -r --cached . # 모든 파일 다시 추적할 때.
git rm -r --cached <fileName> # 해당 파일만 다시 추적할 때
git add -f <fileName> # .gitignore파일 다시 추적하고플 때
profile
정리하는 개발자

0개의 댓글