브랜치가없는 태그에 대한 Git 커밋
브랜치를 만들지 않고 소스 코드의 태그가 지정된 버전을 확인하면 Git은 내가 브랜치와 전혀 관련이 없음을 나타냅니다. 그래도 변경하고 확인하게되어 기쁩니다. 그 변화는 어디로 갑니까? 다시 '마스터'로 전환하면 사라지고 (마스터에 있던 항목으로 덮어 쓰여짐) 다시 찾을 수없는 것 같습니다. 무엇을 제공합니까? Git이 본질적으로 익명의 브랜치에 대해 변경 사항을 커밋 할 수있게 해준다면 확실히 다시 가져올 수 있습니까?
커밋이 브랜치에 없기 때문에 SHA1을 사용하여 특정 커밋을 체크 아웃하지 않는 한 작업 디렉토리에서 볼 수 없습니다. reflog
리포지토리에서 체크 아웃 한 변경 사항을 추적 하는 항목 을 살펴보면 커밋을 찾을 수 있습니다 . 태그가 XXX
있으면 다음과 같은 내용이 표시됩니다.
$ git reflog
7a30fd7... HEAD@{0}: checkout: moving from master to XXX
ddf751d... HEAD@{1}: checkout: moving from 96c3b0300ccf16b64efc260c21c85ba9030f2e3a to master
96c3b03... HEAD@{2}: commit: example commit on tag XXX, not on any branch
7a30fd7... HEAD@{3}: checkout: moving from master to XXX
이는 checkout
작업 디렉토리에서 커밋을 확인하기 위해 필요한 SHA1을 알려줍니다 .
$ git checkout 96c3b03
Note: moving to "96c3b03" which isn't a local branch
If you want to create a new branch from this checkout, you may do so
(now or later) by using -b with the checkout command again. Example:
git checkout -b <new_branch_name>
HEAD is now at 96c3b03... example commit on tag XXX, not on any branch
$ git checkout -b newbranch
$ git branch #lists all branches
feature1
master
* newbranch
git 이 특정 커밋의checkout
모든 프로젝트 파일 을 내 파일 시스템 (작업 디렉토리)에 배치 한다는 사실을 깨닫기 전까지는이 모든 것이 처음에는 약간 이상해 보였습니다 . 실제로 작업 디렉터리는 로컬 Git 저장소에서 브라우저 역할을합니다. 따라서 변경 사항은 저장소에서 덮어 쓰지 않았으며 마스터를 체크 아웃했을 때 작업 디렉토리에 표시되지 않습니다.
예, 그들은 리플 로그에있을 것입니다.
다음과 같이 언제든지 브랜치의 이름을 지정할 수 있습니다.
git checkout -b my-branch-name
또는 SHA1 (위와 같이 git reflog 사용)을 찾아서 새 분기없이 커밋을 마스터로 다시 병합 한 다음 다음을 수행 할 수 있습니다.
git checkout master
git merge SHA1
두 번째 질문에 답하려면 git reset --hard yourtagname을 사용합니다.
무슨 일이 일어날 지에 관해서는 본질적으로 태그 이름에서 분기를 분기하고 동일한 분기에 머물 렀습니다. 이전 포크에있는 커밋은 여전히 남아 있습니다 ...보기가 어렵습니다. 이전 포크를 찾기 위해 reflog를 사용해야 할 수도 있습니다.
참조 URL : https://stackoverflow.com/questions/366093/git-commit-against-tag-with-no-branch
'Development Tip' 카테고리의 다른 글
Windows에서 PostgreSQL을 시작하는 방법 (0) | 2020.12.30 |
---|---|
Docker-Compose를 사용하는 경우 및 Docker-Swarm을 사용하는 경우 (0) | 2020.12.30 |
블랙 박스 또는 화이트 박스 테스트가 테스터에게 강조되어야합니까? (0) | 2020.12.30 |
자바의 바코드 이미지 생성기 (0) | 2020.12.30 |
아무것도하지 않으려면 HTML 양식 제출 (0) | 2020.12.30 |