[git] Git의 최신 버전으로 돌아가는 방법?
나는 최근 SVN에서 Git으로 옮겼으며 약간 혼란스러워합니다. 디버거를 통해 이전 버전의 스크립트를 실행해야했기 때문에 git checkout <previous version hash>
필요한 작업을 수행했습니다.
이제 최신 버전으로 돌아가고 싶지만 해시를 모르겠습니다. 입력하면 git log
보이지 않습니다.
어떻게해야합니까? 또한 “두 버전으로 돌아 가기”또는 “가장 최근순으로 가기”와 같이 해시를 입력하는 것보다 버전을 변경하는 더 쉬운 방법이 있습니까?
답변
git checkout master
트릭을해야합니다. 두 가지 버전으로 돌아가려면와 같이 말할 수 git checkout HEAD~2
있지만 그 시간을 기준 으로 임시 분기를 만드는 것이 좋습니다.git checkout -b temp_branch HEAD~2
답변
특정 커밋에 체크 아웃하면 git은 분리 된 분기를 만듭니다. 따라서 전화하면 :
$ git branch
다음과 같은 것을 보게 될 것입니다 :
* (detached from 3i4j25)
master
other_branch
마스터 브랜치 헤드로 돌아 오려면 마스터 브랜치에 다시 체크 아웃하면됩니다.
$ git checkout master
이 명령은 분리 된 분기를 자동으로 삭제합니다.
경우 git checkout
작동하지 않습니다 당신은 아마 나뭇 가지 사이에 충돌 수정 된 파일이 있습니다. 코드를 잃어 버리지 않게하려면 git 파일을 처리해야합니다. 세 가지 옵션이 있습니다.
-
수정 내용을 숨 깁니다 (나중에 팝업 가능).
$ git stash
-
분리 된 분기를 재설정하여 변경 사항을 폐기하십시오.
$ git reset --hard
-
이전 수정 사항으로 새 분기를 작성하고 커미트하십시오.
$ git checkout -b my_new_branch $ git add my_file.ext $ git commit -m "My cool msg"
그런 다음 마스터 브랜치 (가장 최신 버전)로 돌아갈 수 있습니다.
$ git checkout master
답변
이것은 나를 위해 속임수를 썼다 (나는 여전히 마스터 브랜치에 있었다).
git reset --hard origin/master
답변
최신 버전으로 돌아가려면
git checkout <branch-name>
예를 들어, git checkout master
또는git checkout dev
답변
분기 이름을 사용하여 한 가지를 확인할 수 있습니다.
HEAD를 움직일 수있는 몇 가지 방법이 있다는 것을 알고 있지만 git 전문가에게 맡겨서 열거 할 것입니다.
방금 제안하고 싶었 gitk --all
습니다 .git으로 시작할 때 큰 도움이되었습니다.
답변
방금 git을 더 깊이 파고 들기 시작했기 때문에 올바르게 이해하고 있는지 확실하지 않지만 OP의 질문에 대한 올바른 대답은 다음 git log --all
과 같은 형식 사양으로 실행할 수 있다고 생각합니다 git log --all --pretty=format:'%h: %s %d'
. 이것은 현재 체크 아웃 된 버전을 표시 (HEAD)
하며 목록에서 다음 버전을 가져올 수 있습니다.
BTW, .gitconfig
약간 더 나은 형식으로 이와 같은 별칭을 추가하면 다음을 실행할 수 있습니다 git hist --all
.
hist = log --pretty=format:\"%h %ai | %s%d [%an]\" --graph
상대 버전과 관련 하여이 게시물을 찾았 지만 이전 버전에 대해서만 이야기하지만 아마도 최신 버전을 언급 할 것이 없습니다.
답변
여기에있는 답변 중 일부는 이전 커밋을 체크 아웃하기로 결정하기 전에 마스터 브랜치에 있다고 가정합니다. 항상 그런 것은 아닙니다.
git checkout -
마스터인지 아닌지에 관계없이 이전에 있던 지점으로 돌아갑니다.
