본문 바로가기
Git

git commit 되돌리기

by oncerun 2023. 7. 3.
반응형

Git에서 코드를 수정하고 커밋하여 push 하는 일반적인 절차는 다음과 같습니다:

1. 저장소 복제(Clone): 원격 저장소를 로컬로 복제합니다. 아래 명령어를 사용합니다:

   git clone <원격 저장소 URL>


2. 수정: 로컬에서 코드를 수정합니다. 원하는 변경사항을 작성합니다.

3. 변경 내용 확인: 변경된 파일들의 상태를 확인하기 위해 아래 명령어를 사용합니다:

   git status


4. 스테이징: 수정한 파일들을 스테이징 영역에 추가합니다. 아래 명령어를 사용합니다:

   git add <파일명>   # 특정 파일 추가
   git add .          # 모든 수정된 파일 추가


5. 커밋: 스테이징 영역에 추가된 파일들을 커밋합니다. 아래 명령어를 사용합니다:

   git commit -m "커밋 메시지"


6. 푸시(Push): 커밋한 변경사항을 원격 저장소에 푸시합니다. 아래 명령어를 사용합니다:

   git push origin <브랜치 이름>




저는 지금 git commit을 하는 과정에서 gitignore 파일을 작성하지 않고 초기 커밋을 하여 다시 이를 되돌리려 합니다.

 

커밋을 취소하려면 git revert, git reset 명령어를 사용할 수 있습니다.

 

커밋을 취소하려면 `git revert` 또는 `git reset` 명령어를 사용할 수 있습니다. 

1. git revert: 이 명령어는 이전 커밋을 취소하는 새로운 커밋을 생성합니다. 이전 커밋에서 변경된 내용을 되돌리고, 새로운 커밋을 생성하여 이전 상태로 돌아갑니다. 다른 사람들과의 협업을 위해 이미 공유된 커밋을 취소할 때 유용합니다.

   git revert <커밋 해시>


2. git reset: 이 명령어는 커밋을 취소하고 이전 상태로 되돌아갑니다. 주의해야 할 점은, `git reset`은 로컬 저장소의 커밋 히스토리를 변경하기 때문에, 이미 원격 저장소에 푸시한 커밋을 변경할 경우, 다른 사람들과의 협업에 문제가 발생할 수 있습니다. git reset은 로컬에서만 사용하는 경우에 적합합니다.

   git reset <커밋 해시>


위의 명령어에서 `<커밋 해시>`는 취소하려는 커밋의 식별자입니다. 커밋 해시는 git log 명령어를 사용하여 확인할 수 있습니다. 주의할 점은 커밋을 취소하면 해당 커밋 이후의 변경 내용이 모두 삭제되거나 되돌려집니다.

 

 

실제로 git reset 이후 git log 명령어로 확인하여도 해당 커밋 로그가 그대로 확인된다. 

 

이에 대한 변경내용을 확인하기 위해선 git reflog를 확인하면 된다.

 

 

반응형

'Git' 카테고리의 다른 글

git stash  (0) 2023.07.03
브랜치 .Refactoring  (0) 2022.08.14
Git Branch(4)  (0) 2021.02.11
Git Branch(3)  (0) 2021.02.11
Git Branch(2)  (0) 2021.02.11

댓글