
rename 하는 방법 부터 간단히 알아보겠습니다.
(rename과 revert는 관련이 없습니다. )
Rename 하기
revert.md를 reverted.md로 바꾸고 싶을때 어떻게 해야 할까요?
$mv revert.md reverted.md
-> 화면상으로는 rename이 잘 일어났다고 생각할 수 있지만 git에서는 이러면 안됩니다.
git staus를 통해 상태를 확인해봅시다..

이름이 바뀐 것이 아니라 원래 파일이 삭제되고, 새로운 파일이 추가된 걸로 인식하기 때문입니다.
그래서!! git에게 알려주면서 이름을 바꿔야 합니다.
$ git mv 원래파일이름 바꾸고싶은이름
git mv를 사용하면 아래와 같이 뜹니다.

정의 했던 어떤 것이 바뀐 것 뿐, 실제 물리량이 변한 게 아니기 때문에 stage에 올릴 게 없어서 바로 commit해주면 된다.
git commit ( fix: Rename revert.md to reverted.md )
여기서 부터 되돌리기에 관한 것들입니다.
Undo
파일의 변경사항을 되돌리고 싶을 때 사용합니다.
git restore '되돌리고 싶은 파일 이름'
git restore . //여러개를 동시에 되돌리고 싶을 때( 현재 디렉토리 아래에 존재하는 모든 변화량 취소)
어떤 파일을 변경하고 저장(:wq)합니다.
그 다음 git status를 해보면 add해야할 파일이라고 뜹니다.
이것을 되돌리고 싶을 때, 아예 git status에 아무것도 뜨지 않게 되돌리고 싶을 때 restore를 사용합니다.
-> working directory 상에서 되돌리고 싶을 때 restore 사용합니다.
Unstaging
stage에 올렸던 것을 내리는 행위입니다.
git reset HEAD '파일이름'
이미 add 해버린 파일을 수정하고 싶거나, 올라가면 안되는 파일이 올라갔을 때 reset을 사용합니다.
만약 습관적으로 git add .를 해버렸다면?
stage에 올라가선 안되는 파일이 올라갈 수 있을 것입니다.
그래서 그 파일을 내려주고 싶을 때 밑의 명령어를 실행 하면 그 파일은 stage를 내려갑니다.
$ git reset HEAD '올라가면안되는파일'
-> stage에 올라간 파일을 working directory로 내리고 싶을 때 reset 사용합니다.
Commit message 되돌리기
git commit --amend
commit message를 잘못작성했다면?
직전에 한 commit 수정해 봅시다.
git log를 하면 commit아이디를 알 수 있다. 앞의 7자리가 commiti id입니다.
commit message가 잘못됨을 인지하는 방법
1. 쓰자마자 나오는 메시지 확인
2. git log로 확인
$ git commit --amend
위의 명령어를 실행 하면, 직전에 입력했던 commit message가 vim으로 뜬다. 이것을 수정하고 저장한다.
그리고 git log 해보면 수정된 commit message를 확인 할 수 있다.
이러한 되돌리기들은 push하기 전에만 유효하다.
push를 자주 하지 않는 것이 좋다.
revert
revert와 reset의 차이
revert - 했던 잘못을 되돌리는 행위
reset - 세상에 없던 일로 만드는 행위
reset은 굉장히 위험합니다. 그리고 다른 repo에 있던 커밋으로 인해 다시 돌아올 수 있습니다.
따라서 reset은 위험성은 큰데 의미가 없을 수 있기 때문에 권장하지 않습니다.
revert는 특정한 커밋을 실수 했을 때 실수에 대해 인정하고 그 시점으로 돌아가는 것입니다.
revert 실험
상황
잘못한 최근 commit 3개를 만듬.
우리는 이 잘못된 commit 3개 전으로 되돌아 가고 싶다.
해결
git lg로 커밋을 확인합니다. 잘못된 commit 3개를 확인 할 수 있습니다.

commit을 되돌립니다.
git revert --no-commit HEAD~3..
여기서 HEAD~3.. 은 최신으로 부터 3개를 순차적으로 를 의미합니다.
commit하나 되돌릴때마다 창이 뜨는데 --no-commit을 하면 한번만 뜹니다.
git status로 확인합니다.

이 상태에서 commit을 해주면 됩니다.
commit message 내용에 "왜 revert를 하게 되었는지" 이유를 써주면 좋습니다.
그 다음 giti log를 통해 확인하면 wrong commit은 여전히 남아있고, 되돌렸다는 커밋 하나가 추가되었습니다.

잘못한 행동을 취소할 때 그 일을 없던 것으로 하는 것은 좋지 않습니다.
빠르게 인정하고 상태를 되돌려 놓읍시다.
'Git' 카테고리의 다른 글
| [Git] Vim꾸미기 (0) | 2022.09.17 |
|---|---|
| [Git] 협업 연습 (0) | 2022.09.17 |
| [Git] Hexo를 통해 나만의 블로그 만들기 (0) | 2022.09.16 |
| [Git] Git flow 전략 (0) | 2022.09.16 |
| [Git] Git의 기초 배우기 (0) | 2022.09.15 |