1. rename
1-1. 먼저 잘못된 예시!
//잘못된 방식
$ mv {존재하는 파일} {바꿀이름}
git이 이름을 변경한 파일을 추적할 수 없다. 이를 되돌리기 위해서는 다시 원래 이름으로 mv를 해준다.
1-2. 올바른 rename 방법
//올바른 rename 방법
$ git mv {존재하는 파일} {바꿀이름}
2. undoing (되돌리기)
이 기능은 많이 쓸 예졍!!! 원래 상태로 되돌리기 어려울 때 쓰면 좋을 명령어이다.
단계별로 되돌리는 작업
$ vi {파일이름}
i로 아무렇게나 편집을 한다 어자피 되돌릴 것임!! ㅋㅋ 그 다음 :wq를 해서 저장을 하고 닫는다
$ git status
예전의 깃 같은 경우에는 `checkout --` 이었지만 요즘에는 `restore`로 해야한다.
$ git restore {파일이름}
$ git restore . // 모든 수정사항을 취소하고 싶을 때! 모두 최신의 커밋 상태로 돌아가라!
이는 모두 최신의 커밋 상태로 돌아가라는 명령어이다. ctrl + C는 shell명령어!! git restore은 git 명령어.
restore은 그냥 되돌리는거(거이 복구에 가까움) = undo
`$ git add`는 statge에 올린다! reset은 stage에서 내린다(unstaging)고 표현한다!! 하지만 reset은 금단의 명령어라고 하시면서 되도록 쓰지 말라고 하셨다!! 자신의 로컬 저장소에서 `reset`을 통해서 파일을 삭제하더라도 다른 사람이 그 변경사항을 계속 가지고 있을 경우 좀비처럼 살아날 수 있다고 한다.
//비추천
$ vi {파일} //파일을 수정하고
$ git add {파일}// git add까지만 해준다
$ git reset HEAD {파일이름}
이렇게 하면 stage에서 내릴 수 있다.. ㅋㅋ
하지만 reset은 금단의 단어라고 하는 이유는 commit한 내역을 다 삭제할 수 있어서 조심해서 사용해야한다!!
3. commit 수정하기
3-1.바로 직전의 commit이라면!!
$ git commit // commit 메시지에 오류가 있다면
이후에 잘못 작성한 것을 알았다면 `--amend ` flag를 통해서 직전의 커밋 메시지를 수정할 수 있다.
$ git commit --amend
git rebase로 커밋메시지를 수정할수 있지만 정확한 문서화를 위해서 한번할때 정확하게 하자...!!
3-2. 이전의 commit을 수정해야하는 경우
커밋을 취소하는 방법과 커밋을 되돌리는 방법은 사용하면 팀작업시에는 reset의 경우에는 혼란을 초례할 수 있어서 조심해야한다...
그래서 취소하는 것보다는 `revert`를 쓰자!!
//revert
$ touch a.md
$ git add a.md
$ git commit
$ touch b.md
$ git add b.md
$ git commit
$ touch c.md
$ git add c.md
$ git commit
a, b, c 다 없애고 수정할 예정이다!!
$ git revert --no-commit HEAD~3..
그러면 사람들도 pull 받으면 같이 다 사라짐!! 그리고 잘못했던 것도 이력이 남는다!!
$ git commit
그러면 미리 commit 메시지가 있다.. 내용에 왜 지우는지 이유를 적어두면 된다.
참고
- 로그 수정 사항을 쉽게 보기위해서 git alias 설정을 하기!!
// 추천 git alias
$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --"
// 사용방법
$ git lg
출처 : https://gist.github.com/johanmeiring/3002458
reset과 revert의 차이를 잘 알고 써야한다!! ㅎㅎ reset은 내컴터에서만 지우는거니까 pull 받으면 계속 살아난다. revert를 통해서 모두 삭제하도록 요청하고 수정 이력도 남기는 편이 좋다!!
- 터미널을 꾸미기
'핀테크 서비스 프론트엔드 개발자 취업 완성 2기 > Git' 카테고리의 다른 글
[Git] GitHub으로 협업하기 _ 실습 (0) | 2022.04.02 |
---|---|
Git 수업내용_4 (0) | 2022.03.31 |
Git 수업내용_3 (0) | 2022.03.30 |
Git 수업내용_2 (0) | 2022.03.29 |
Shell command (Git bash) & Vim command(vim 에디터) & Markdown(마크다운) (0) | 2022.03.29 |
댓글