이전 커밋을 체크한 후 최신 커밋으로 돌아가려면 어떻게 해야 합니까?
검사하거나 테스트하기 위해 이전 버전의 코드를 확인하기도 합니다.이전 커밋을 수정하고 싶을 때 어떻게 해야 하는지에 대한 지침을 봤지만, 변경하지 않았다고 가정합니다.예를 들어, 작업을 마친 후. git checkout HEAD^
브런치 끝으로 돌아가려면 어떻게 해야 하나요? git log
최신 커밋의 SHA가 표시되지 않게 되었습니다.
되돌아가고 싶은 커밋이 브랜치 헤드이거나 태그가 붙어 있는 경우는, 다음의 조작을 실행할 수 있습니다.
git checkout branchname
를 사용할 수도 있습니다.git reflog
HEAD(또는 기타 심판)가 과거에 지적한 다른 커밋을 확인합니다.
추가하도록 편집됨:
Git의 새로운 버전에서는 실행만 하면git checkout
또는 다른 무언가를 움직여서HEAD
한 번, 당신은 또한 할 수 있다.
git checkout -
마지막 체크아웃 전 위치로 다시 돌아가기 위해서요.이것은 조개껍데기 숙어에 비유하여 동기부여되었다.cd -
이전에 있던 작업 디렉토리로 돌아갑니다.
git 체크아웃 마스터
master는 힌트 또는 마지막 커밋입니다.gitk는 트리의 현재 위치만 보여줍니다.git reflog는 모든 커밋을 표시하지만, 이 경우 팁만 원하기 때문에 git checkout master.
방금 이 질문을 발견하고 덧붙일 것이 있습니다.
최신 커밋으로 이동하려면:
git checkout $(git log --branches -1 --pretty=format:"%H")
설명:
git log --branches
에 모든 로컬브런치로부터의 커밋 로그를 나타냅니다.
-1
하나의 커밋으로 제한 → 최신 커밋
--pretty=format:"%H"
커밋 해시만 표시하도록 포맷합니다.
git checkout $(...)
체크 아웃의 인수로 서브셸의 출력을 사용
주의:
이 경우 헤드가 분리됩니다(커밋에서 직접 체크아웃하기 때문에).이것은, 다음의 방법으로 브랜치명을 추출하는 것으로 회피할 수 있습니다.sed
이하에 설명하겠습니다.
최신 커밋 브랜치로 이동하려면:
git checkout $(git log --branches -1 --pretty=format:'%D' | sed 's/.*, //g')
설명:
git log --branches
에 모든 로컬브런치로부터의 커밋 로그를 나타냅니다.
-1
하나의 커밋으로 제한 → 최신 커밋
--pretty=format:"%D"
참조 이름만 표시하는 형식
| sed 's/.*, //g'
여러 참조 중 마지막 참조를 제외한 모든 참조 무시(*)
git checkout $(...)
체크 아웃의 인수로 서브셸의 출력을 사용
*) HEAD 및 리모트브런치를 먼저 나열하고 로컬브런치를 알파벳 내림차순으로 맨 마지막에 나열하기 때문에 나머지 1개는 알파벳 첫 번째 브런치 이름이 됩니다.
주의:
커밋이 여러 개일 경우 항상 (알파벳 순으로) 첫 번째 브랜치 이름만 사용합니다.
어쨌든, 가장 좋은 해결책은 체크아웃 장소를 알기 위해 최신 커밋의 레퍼런스 이름을 표시하는 것이라고 생각합니다.
git log --branches -1 --pretty=format:'%D'
: 에일리어스 작성git top
을 사용하다
"GUI" "GUI'... gitk
모든 커밋이 표시됩니다.그래픽으로 작업하는 것이 더 쉬울 수 있습니다.^^
이를 위해 다음 git 명령 중 하나를 사용할 수 있습니다.
git checkout master
git checkout branchname
git reflog //find the hash of the commit that you want to checkout
git checkout <commit number>>
최신 커밋이 마스터브런치에 있는 경우 간단히
git checkout master
약속하다
--syslog log --syslog --syslogs
커밋을
- 1 log --syslog - 1 --syslogs
의 커밋에
- 2 log --syslog - 2 --syslogs
마스터와 다른 지점이 있는 경우 해당 지점을 체크 아웃하고 마스터를 체크 아웃하는 간단한 방법이 있습니다.Voila, 당신은 다시 마스터의 끝에 있습니다.아마 더 현명한 방법이 있을 거야
할 수 요.git pull origin branchname
을 다시 . 최신 커밋을 다시 가져옵니다.
★★★의 git
> 2..0gs> = 2.33.0
git switch -d -
를 사용하면 이전에 체크아웃한 커밋으로 체크아웃할 수 있습니다.따라서 두 개의 커밋을 전환하여 앞뒤로 이동할 수 있습니다.해 주십시오-d
flag를 사용하면 분리된 상태의 커밋 간에 서핑을 할 수 있습니다.
언급URL : https://stackoverflow.com/questions/2427288/how-to-get-back-to-the-latest-commit-after-checking-out-a-previous-commit
'IT' 카테고리의 다른 글
git-merge --dry-run 옵션이 있나요? (0) | 2023.04.13 |
---|---|
OLE DB 공급자 'Microsoft.Jet.OLEDB.4.0'은 분산 쿼리에 사용할 수 없습니다. (0) | 2023.04.13 |
iOS 7의 기본 파란색을 프로그래밍 방식으로 가져오려면 어떻게 해야 합니다. (0) | 2023.04.13 |
T-SQL: 문자열 연결과 반대 - 문자열을 여러 레코드로 분할하는 방법 (0) | 2023.04.13 |
C# 프로그램을 50밀리초 동안 sleep 상태로 만들려면 어떻게 해야 하나요? (0) | 2023.04.08 |