메뉴 건너뛰기

Git을 이용할 때 가끔 로컬 브랜치의 내용을 이전 커밋 상태로 만들 필요가 생깁니다. 로컬 브랜치를 이전 커밋으로 되돌리는 방법을 알아보겠습니다.
다음과 같은 history를 가질 때 11월 3일 커밋으로 되돌리는 절차를 알아보겠습니다.
$ git log
commit a867b4af366350be2e7c21b8de9cc6504678a61b`
Author: Me <me@me.com>
Date:   Thu Nov 4 18:59:41 2014 -0400

commit 25eee4caef46ae64aa08e8ab3f988bc917ee1ce4
Author: Me <me@me.com>
Date:   Thu Nov 4 05:13:39 2014 -0400

commit 0766c053c0ea2035e90f504928f8df3c9363b8bd
Author: Me <me@me.com>
Date:   Thu Nov 4 00:55:06 2014 -0400

commit 0d1d7fc32e5a947fbd92ee598033d85bfc445a50
Author: Me <me@me.com>
Date:   Wed Nov 3 23:56:08 2014 -0400

Case 1) 임시로 로컬 workspace를 이전 commit 상태로 만들고 싶을 때:
브랜치 이름을 정하지 않고 checkout을 하게 됩니다. 따라서 checkout된 commit 내용은 작업 중인 HEAD와 별개로 존재하게 됩니다.
git checkout 0d1d7fc32


Case 2) 새로운 브랜치를 만들어 이전 commit 되었던 내용을 checkout 하고 싶을 때:

git checkout -b previous_commit 0d1d7fc32


Case 3) Publish 되지 않은 (push 되지 않은) 로컬 커밋과 변경 내용을 모두 삭제하면서 이전 커밋 되돌리기

git reset --hard 0d1d7fc32

참고로 로컬 변경 내용을 잠시 대피 시켰다가 이전 commit 상태로 만든 다음 복원하는 방법

git stash
git reset --hard 0d1d7fc32
git stash pop


Case 4) Publish 된 (Push된) 커밋으로 되돌리기

git revert a867b4af 25eee4ca 0766c053
git checkout 0d1d7fc32e5a947fbd92ee598033d85bfc445a50 .
git commit

TAG •

Who's PSEG

profile

PSEG는 Practical Software Engineering Group의 약자입니다. 

이론을 넘어 실용적으로 활용할 수 있는 소프트웨어 공학을 공유하는게 그룹의 목적입니다.

?
Comment '2'
  • ?
    청아 2015.01.06 10:38
    복잡해 보이긴 하지만 용도에 맞게 예제를 사용하면 되겠네요.
  • ?
    시빈 2015.01.06 10:41
    좋은 정보 감사합니다.

 


  1. 3
    01월 20일
    2015

    원격 (Remote)의 모든 브랜치를 클론 하는 방법을 알고 싶습니다.

    원격 (Remote)의 모든 브랜치를 클론 하는 방법을 알고 싶습니다. Step 1) 프로젝트 클론하기 $ git clone git://example.com/project $ cd project Step 2) 로컬 브랜치들 확인 $ git branch * master Step 3) 숨겨진 브랜치 확인 하기 ...
    ByPSEG Reply3 Views13364
    Read More
  2. 1
    01월 08일
    2015

    머지 (merge) conflict 를 해소하는 일반적인 방법을 알려주세요

    Git의 merge conflict를 해소하는 가장 일반적인 방법을 정리 합니다. Conflict 발생 git fetch origin git pull origin master From ssh://developer@pseg.or.kr:22/projectname * branch master -> FETCH_HEAD Updating aa30c3a..bb25213 error: E...
    ByPSEG Reply1 Views20078
    Read More
  3. 1
    01월 06일
    2015

    Git에서 레파지토리의 폴더를 별도의 repository로 분리하는 방법을 알려주세요

    프로젝트를 진행하다보면 특별한 모듈을 분리해서 독립적인 repository로 분리할 필요를 느끼게 됩니다. 아래와 같은 변경을 가하고 싶다고 가정하겠습니다. project/ .git/ module1/ module2/ module3/ --[변경후]--> project/ .git/ module1/ modu...
    ByPSEG Reply1 Views19563
    Read More
  4. 2
    01월 06일
    2015

    Git에서 로컬 브랜치를 이전 커밋으로 되돌리는 방법을 알려주세요

    Git을 이용할 때 가끔 로컬 브랜치의 내용을 이전 커밋 상태로 만들 필요가 생깁니다. 로컬 브랜치를 이전 커밋으로 되돌리는 방법을 알아보겠습니다. 다음과 같은 history를 가질 때 11월 3일 커밋으로 되돌리는 절차를 알아보겠습니다.$ git log commit a867...
    ByPSEG Reply2 Views16495
    Read More
  5. 1
    01월 01일
    2015

    로컬과 리모트의 브랜치 삭제 방법을 알려주세요

    개발하다보면 기능 개발을 위해 브랜치 (branch)를 만들었다가 완료되면 브랜치를 삭제할 일이 자주 생깁니다. 이럴 때 아래의 명령으로 간단히 remote와 local의 branch를 삭제할 수 있습니다. git push origin --delete <branchName> or $ gi...
    ByPSEG Reply1 Views14670
    Read More
  6. 2
    12월 31일
    2014

    Git commit (커밋) 메시지 정정 하는 방법을 알려주세요

    Git push를 했는데, 나중에 메시지에 잘못된 부분을 알게되거나 추가할 내용이 발생하는 경우가 많습니다. 이럴 경우 어떻게 해야 할까요? Step 1) git commit --amend Step 2) 최근 커밋 메시지를 수정할 수 있는 에디터가 열리면 내용을 수...
    ByTerry Reply2 Views20683
    Read More
  7. 2
    12월 31일
    2014

    Git에서 삭제된 commit 내용 복구하는 방법을 알고 싶습니다

    git reset --hard HEAD~1 과 같은 동작으로 최근 commit 했던 정보가 삭제되었을 때 이를 복구하는 방법을 공유 드립니다. git checkout -b 새로운_브랜치_이름 commit_했던_sha_number
    ByPSEG Reply2 Views15183
    Read More
  8. 2
    12월 31일
    2014

    Git에 마지막으로 commit한 변경사항을 취소 (undo) 하는 방법을 알고싶어요

    Git에서 undo 하는 것은 불편하기 이를데 없습니다. 하지만 개념만 이해한다면 매우 쉽습니다. Workspace 상태 (F) A-B-C ↑ master C commit을 제거하고 싶을 때 (local에서도 C 내용이 사라지게 되기 때문에 주의!) git reset --hard HEAD~1 ...
    ByPSEG Reply2 Views12553
    Read More
  9. 1
    12월 30일
    2014

    git review 명령 실행시 missing Change-Id in commit message footer 발생

    git review 명령 실행시 To ssh://user@gerrit.choi.co.kr:29418/TestProject.git ! [remote rejected] HEAD -> refs/publish/master (missing Change-Id in commit message footer) error: failed to push some refs to 'ssh://user@gerrit.choi.co.kr:2...
    By번즈 Reply1 Views25073
    Read More
  10. 1
    12월 27일
    2014

    UML 도구 추천요.

    UML 도구 어떤것이 좋을까요? 나름 UML이나 모델링 도구에 관심이 많은데 분석/설계 쪽 카테고리는 질의가 없네요. 혼자 그동안 알고 있던 UML 도구에 대해 짧게 정리해봅니다. 유료도구 IBM Rational Software Architect : 일반적으로 웹 프로젝트...
    ByPSEG Reply1 Views18956
    Read More
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 Next
/ 12