본문 바로가기

Git

Git-Commit ,Reset,Revert

1. 프로젝트의 변경사항들을 버전 에 담기

변경사항 확인

git status

추적하지 않는(untracked) 파일: Git의 관리에 들어간 적 없는 파일

git add tigers.yaml

git status로 확인

모든 파일 담기

git add .

git status로 확인

 

2. Commit

 

아래 명령어로 commit

 

git commit

 

 

작업 Vi 명령어 상세
입력 시작 i 명령어 입력 모드에서 텍스트 입력 모드로 전환
입력 종료 ESC 텍스트 입력 모드에서 명령어 입력 모드로 전환
저장 없이 종료 :q  
저장 없이 강제 종료 :q! 입력한 것이 있을 때 사용
저장하고 종료 :wq 입력한 것이 있을 때 사용
위로 스크롤 k git log등에서 내역이 길 때 사용
아래로 스크롤 j git log등에서 내역이 길 때 사용

 

FIRST COMMIT 입력한 뒤 저장하고 종료

 

커밋 메시지까지 함께 작성하기

 

git commit -m "FIRST COMMIT"

 

아래 명령어와 소스트리로 확인

 

git log

 

종료는 :q

Git에서 과거로 돌아가는 두 방식

reset : 원하는 시점으로 돌아간 뒤 이후 내역들을 삭제한다.

revert : 되돌리기 원하는 시점의 커밋을 거꾸로 실행한다.

 

실습

 

1. 실습 전 내역 백업

1..git 폴더를 복사해두기

2..git 폴더 없앤 다음 git 상태 확인해보기

 

 

2. reset 사용해서 과거로 돌아가기

아래 명령어로 커밋 내역 확인

 

git log

 

되돌아갈 시점: Add team Cheetas의 커밋 해시 복사

:q로 빠져나가기

 

git reset --hard (돌아갈 커밋 해시)

 

 

 

 

3. reset 하기 전 시점으로 복원해보기

백업해 둔 .git 폴더 사용

.git 폴더 복원

git log, git status로 상태 확인

아래 명령어로 현 커밋 상태로 초기화

                                                                  git reset --hard

 뒤에 커밋 해시가 없으면 마지막 커밋을 가리킴

lions.yaml 삭제

 

 

4. revert 로 과거의 커밋 되돌리기

Add George to Tigers의 커밋 해시 구하기

아래 명령어로 revert

                                                          git revert (되돌릴 커밋 해시)

:wq로 커밋 메시지 저장

 

 

Replace Lions with Leopards의 커밋 되돌려보기

이후 leopards.yaml 수정한 내역 때문에 충돌

git rm leopards.yaml로 Git에서 해당 파일 삭제

git revert --continue로 마무리

:wq로 커밋 메시지 저장

 

 

 

 

커밋해버리지 않고 revert하기

                                                 git revert --no-commit (되돌릴 커밋 해시)

원하는 다른 작업을 추가한 다음 함께 커밋

취소하려면 git reset --hard

'Git' 카테고리의 다른 글

Git-Merger,Rebase  (0) 2022.05.06
Git-branch  (0) 2022.05.06
Git-gitignore  (0) 2022.05.06
Git- Git 설정 & 프로젝트 관리 시작하기  (0) 2022.05.05
Git-설치(window)  (0) 2022.05.05