반응형
Git이 잘못된 지적로 푸시
git로 작업하고 '커밋'하고 '푸시'한 후 잘못된 브랜치를 사용하고 있음 깨달았습니다!
이제 나는 wrong_branch의 변경 사항을 어떤 식 으로든 제거하고 right_branch의 변경 사항을 커밋하고 푸시해야합니다.
이를 수행하는 가장 좋은 (그리고 간단한) 방법은 무엇입니까?
감사합니다
분기로 전환 해당하고 git log
및 git revert
해당 커밋을 개별적으로 확인하십시오 . 그런 다음 원하는 분기로 다시 전환 git cherry-pick
하면 git refs에서 특정 커밋을 선택하고 올바른 분기에 병합하는 데 사용할 수 있습니다 .
git checkout wrong_branch
git revert commitsha1
git revert commitsha2
git checkout right_branch
git cherry-pick commitsha1
git cherry-pick commitsha2
커밋이 함께 그룹화되고 더티 커밋 후에 푸시 된 커밋이없는 경우를 사용 git reset
하여 커밋 전 상태로 잘못된 브랜치를 다음 다시 사용 git cherry-pick
하여 커밋을 올바른 브랜치로 있습니다.
git checkout wrong_branch
git reset commitsha3 #commit just before commitsha2
git checkout right_branch
git cherry-pick commitsha1
git cherry-pick commitsha2
가장 간단한 방법은 git rebase
. 해당 설정이 가정합니다.
A -- B -- C -- C1 -- C2 # right branch
\
\-- D -- C3 -- C4 # wrong branch
변경 C3, C4를 오른쪽으로 이동합니다.
git checkout -b new_wrong_branch D
git checkout wrong_branch
git rebase D --onto right_branch
git checkout right_branch
git merge right_branch wrong_branch
git branch -d wrong_branch
git branch rename new_wrong_branch wrong_branch
이제 설정은
A -- B -- C -- C1 -- C2 -- C3 -- C4 # right_branch
\
\ -- D # wrong_branch
그런 다음 강제로 결과를 푸시해야합니다 (아직 원격 저장소와 동기화하지 않을 경우).
git push -f remote:right_branch
Dhruva의 답변에 추가되는 약간의 지름길
git checkout wrong_branch
git revert commitsha1
git checkout right_branch
git push right_branch
git checkout wrong_branch
git reset commitsha2 #commit just before commitsha1
git push wrong_branch -f
참고 URL : https://stackoverflow.com/questions/6465699/git-push-to-wrong-branch
반응형
'IT' 카테고리의 다른 글
RESTful 로그인 실패 : 401 또는 사용자 지정 응답 반환 (0) | 2020.09.12 |
---|---|
인터셉터를 사용하여 Retrofit 2.0에서 헤더를 추가하는 방법은 무엇입니까? (0) | 2020.09.12 |
WiX에서 MSI 설치 프로그램을 만드는 방법을 배우기위한 좋은 리소스 (0) | 2020.09.12 |
펼쳐지는 이벤트를 시작합니다. (0) | 2020.09.12 |
Umbraco, 그것은 나입니까 아니면 사용하기가 정말 어렵습니까? (0) | 2020.09.12 |