힘내가 잘못된 분기로 당겨
저와 다른 한 명의 개발자는 우리의 작업을 도구 작업이라는 비 마스터 브랜치로 통합하고 밀어 붙였습니다. 그렇게하면 나머지 팀원들에게 영향을주지 않았습니다. 제 토픽 브랜치는 DPM-93이고 제 git 워크 플로우는 이것입니다.
# do some work
git checkout DPM-93
git commit -m "did some work"
# catch up
git checkout toolwork
git pull origin toolwork
# rebase my topic branch
git checkout DPM-93
git rebase toolwork
# merge and push my changes
git checkout toolwork
git merge --no-ff DPM-93
git push origin toolwork
실수로 이러한 git 명령을 실행할 때까지 대부분 잘 작동했습니다.
git checkout toolwork
git pull origin master
그 시점에서 브랜치 도구 작업에 많은 새로운 항목이 나타 났으며 작업 공간을 삭제하고 저장소에서 다시 복제하는 것보다이를 제거하는 방법을 잘 모르겠습니다.
당기기 전 상태로 되돌릴 수있는 방법이 있습니까?
git reset --hard ORIG_HEAD
로부터 git reset
man 페이지 (그냥 풀을 한 경우)
병합 또는 끌어 오기 실행 취소
$ git pull (1)
Auto-merging nitfol
CONFLICT (content): Merge conflict in nitfol
Automatic merge failed; fix conflicts and then commit the result.
$ git reset --hard (2)
$ git pull . topic/branch (3)
Updating from 41223... to 13134...
Fast-forward
$ git reset --hard ORIG_HEAD (4)
- 업스트림에서 업데이트를 시도하면 많은 충돌이 발생했습니다. 지금 병합하는 데 많은 시간을 할애 할 준비가되지 않았으므로 나중에 병합하기로 결정했습니다.
- "
pull
"은 (는) 병합 커밋을 수행하지 않았으므로 "git reset --hard
"의 동의어 인 "git reset --hard HEAD
"은 인덱스 파일과 작업 트리에서 엉망을 제거합니다.- 주제 분기를 현재 분기에 병합하면 빨리 감기가 발생합니다.
- 그러나 토픽 브랜치는 아직 대중이 사용할 준비가되지 않았다고 결정했습니다.
"pull"또는 "merge"는 항상 현재 브랜치의 원래 팁을에 남겨 두ORIG_HEAD
므로 하드 재설정하면 인덱스 파일과 작업 트리가 해당 상태로 돌아가고 브랜치의 팁이 해당 커밋으로 재설정됩니다.
참조 HEAD
및ORIG_HEAD
이상.
마스터 분기 재설정 :
git reset --hard origin/master
You can use git log
to find the SHA-1 of the revision you want to be at the head of your toolwork
branch, then use git reset --hard <SHA1>
to revert your working copy to that revision.
Back everything up first! And re-read the man page for git reset
to make sure it's doing what you want.
EDIT: Oh yes, ORIG_HEAD should contain the right SHA-1. But check first.
I did a similar thing recently, and used a simpler solution based on this answer.
Assuming that the state of the toolwork
branch that you want to revert to has been pushed to origin
, you can simply do
git fetch origin
git reset --hard origin/toolwork
In my case, the value of ORIG_HEAD
had been overwritten by another merge on a different branch, and doing this I didn't have to worry about searching for the correct commit in the log.
What worked for me is simply
git reset --hard
I did this from the local repository with the unfortunate merge/pull:
Laptop@LAPTOP-xxxxxxxx /d/Google Drive/xxxxxxx/Github/xxxxx (staging_ec2|MERGING)
$ git reset --hard
HEAD is now at 2d5a511 [last commit comment]
Laptop@LAPTOP-xxxxxxxx /d/Google Drive/xxxxxxx/Github/xxxxx (staging_ec2)
$
참고URL : https://stackoverflow.com/questions/3998881/git-pull-into-wrong-branch
'program tip' 카테고리의 다른 글
응용 프로그램 로더가 "iTunes Store로 인증"단계에서 멈춤 (0) | 2020.11.13 |
---|---|
flag = true까지 기다립니다. (0) | 2020.11.13 |
빈 iframe src가 유효합니까? (0) | 2020.11.13 |
내 CSS 번들링이 bin 배포 된 MVC4 앱에서 작동하지 않는 이유는 무엇입니까? (0) | 2020.11.13 |
Sublime Text 2 : scss 및 Less 파일에 색상을 지정하는 방법은 무엇입니까? (0) | 2020.11.13 |