1. Git Graph
1. Cursor (VSCODE) Plugin 설치

2. Git Graph 보기
- git graph를 통해 시각적으로 형상 확인 가능하다.
ctrl+shift+a


2. Git Reset
1. git reset이란?
- git reset은 커밋 복구를 위한 명령어이다.
- reset은 branch pointer를 이동시키는 것으로, 실제 폴더를 삭제하는 것이 아니라 폴더는 그대로 두고 눈이 보는 위치만 달라진다.
- 새로운 파일을 만들고 git add만 하고 commit 하지 않으면 reset을 하더라도 그 파일은 그대로 유지되어있다 → commit을 하지 않으면 관리가 되지 않기 때문이다.
- 따라서 commit을 해야 복구 가능하다.

2. git reset을 사용해보자
- 돌아가고자 하는 커밋 해시를 먼저 확인한다.
- 현재 branch pointer는 로그인을 가리킨다.
- 로그인 이전의 회원가입으로 돌아가고 싶은 상황이므로 커밋 해시 중 4자리(7612) 정도를 기억해둔다.
git log

- git reset 명령어를 통해 회원가입 상태로 돌아갈 수 있다.
git reset --hard 7612(해시) 3. reset으로 사라진 commit으로 돌아가보자
- git reflog는 백업로그 즉, reset한 뒤에 사라진 commit까지 확인할 수 있는 명령어이다.
git reflog
- reflog 명령어를 통해 삭제된 커밋의 해시를 가지고 다시 reset 한다.
- 현재 로그인이 삭제된 상태이고 branch pointer가 회원가입을 가리키고 있다.
- 로그인 커밋 해시는 c346이다.

git reset --hard C346
4. 같은 위치의 형상이 다르면 reject!
예) github에는 환경세팅/회원가입/로그인이고 local에서도 환경세팅/회원가입/로그인이지만 로그인 파일의 내용이 다르다. 즉 로그인에 대한 커밋 해시가 다른 상태이다. 따라서 이 경우 local에서 push하게 되면 충돌나서 git에서 거절한다


- 강제 push (—force) : local이 정상일경우
git push -f origin master
- 강제 pull : 원격저장소가 정상일경우
git pull -f origin master
- 내가 내려받아서 형상을 맞추고 다시 push
Share article