programing

Git에서 가장 최신 버전으로 돌아가는 방법은 무엇입니까?

muds 2023. 5. 1. 22:08
반응형

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분기 간에 충돌하는 수정된 파일이 있을 수 있습니다.코드 깃이 손실되는 것을 방지하려면 이러한 파일을 처리해야 합니다.세 가지 옵션이 있습니다.

  1. 수정 사항을 저장합니다(나중에 팝업할 수 있음).

    $ git stash
    
  2. 변경 내용 삭제 - 분리된 분기 재설정:

    $ git reset --hard
    
  3. 이전 수정 사항을 사용하여 새 분기를 생성하고 커밋합니다.

    $ 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 -

마스터인지 여부에 관계없이 이전에 있던 분기를 다시 가리킵니다.

최신 버전으로 돌아가기

git checkout <branch-name> 

예를들면,git checkout master또는git checkout dev

지점 이름을 사용하여 체크아웃할 수 있습니다.

HEAD를 움직이는 방법이 여러 가지가 있다는 것은 알고 있지만, 그것들을 열거하는 것은 Git 전문가에게 맡기겠습니다.

그냥 제안하고 싶었어요gitk --all저는 기트로 시작할 때 매우 도움이 된다는 것을 알았습니다.

이제 막 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 HEAD~2
Previous HEAD position was 363a8d7... Fixed a bug #32

이 경우에도 이 명령을 사용하여 기능 로그(해시)를 볼 수 있습니다.

$ git log master --oneline -5
4b5f9c2 Fixed a bug #34
9820632 Fixed a bug #33
...

master다른 지점 이름으로 바꿀 수 있습니다.

그런 다음 확인하면 기능으로 돌아갈 수 있습니다.

$ git checkout 4b5f9c2
HEAD is now at 4b5f9c2... Fixed a bug #34

Git 2.23+(2019년 8월)에서는 혼란스러운 명령 대신 사용하는 것이 가장 좋습니다.

이전 버전을 기준으로 새 분기를 만드는 방법

git switch -c temp_branch HEAD~2

현재 마스터 분기로 돌아가기

git switch master

보다 우아하고 간단한 솔루션은

git stash

그러면 분기의 가장 최근 로컬 버전으로 돌아가고 변경 내용도 저장되므로 이 작업을 실행 취소하려면 다음을 수행합니다.

git stash apply

언급URL : https://stackoverflow.com/questions/3559076/how-to-get-back-to-most-recent-version-in-git

반응형