티스토리 뷰

git에서 commit 내역 수정하기 

일단 기본적으로 특정한 git hub 저장소와 동일한 프로젝트 내용을 가질 수 있도록 

 

git pull 

 

명령어를 수행합니다. 이 명령어는 전에 말햇던 것과 같이 원격지에 있는 소스코드를 우리 컴퓨터로 가져오는 git fetch 명령과 후에 git merge 명령까지 한번에 수행해 주는 명령어 입니다.

저는 이미 github 소스코드와 제 컴퓨터의 소스코드가 일치하기 때문에 별도로 바뀐 사항이 없다는 메시지만 출력됩니다.

 

이제 특정 지점으로 프로젝트 자체를 되돌리는 방법을 살펴보겠습니다. 과정은 다음과 같습니다.

<1. 파일 내용 수정하기>

 

<2. 수정 내역 반영>

 

git add - git commit - git push

까지 한 번에 진행해 보았습니다. 커밋 및 푸시 내역은 git log 명령어로 확인 가능합니다.

 

<3. 커밋 및 푸시 내역 확인>

git log

 

명령어를 통해 커밋 및 푸시 내역을 확인할 수 있습니다. 

 

<4. git reset>

저는 예전 commit 이 진행되었던 위치로 돌아가보도록 하겠습니다.

이때 사용하는 명령어는

 

git reset 

 

입니다. git reset 명령어는 옵션에 따라 다음과 같은 세가지로 나뉩니다.

  1. git reset --hard : 돌아간 지점 이후의 내역이 증발해버림
  2. git reset --soft : 돌아간 이후 내역들이 남아있음
  3. git reset --mixed : 돌아간 이후의 변경 내역은 남아있지만 인덱스 값들은 모두 초기화

저는 --hard 옵션을 통해 돌아간 지점 이후의 내역을 모두 증발시켜 보도록 하겠습니다.

--hard 옵션 뒤에 들어간 해시코드는 git log에 나온 것입니다.

정말 그 당히 커밋했던 것과 동일한 파일 내용으로 되돌간 것을 볼 수 있습니다.

 

<5. git push -f>

이제 이 내용을 다시 원격 저장소에 올려 보도록 하겠습니다.

 

이때 우리 로컬 컴퓨터에서의 구성이 github 저장소의 구성과 다르게 됩니다. 그래서 push 를 진행하려 해도 오류가 납니다. 이때는

 

git push -f

 

-f 옵션으로 강제로 푸시를 할 수 있습니다.

이처럼 강제로 push를 하게 되면 github 저장소에서도 완전히 특정한 지점으로 프로젝트가 돌아간 것을 확인할 수 있습니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함