풀 요청에서 커밋을 제거하는 방법
풀 리퀘스트를했지만 그 후 로컬에서 풀 리퀘스트를 오염시킨 프로젝트에 커밋을 한 후 제거했지만 운이 없었습니다.
StackOverflow에서 질문을 찾았지만 거기에있는 내용을 적용 할 수 없습니다. GitHub의 첫 번째 풀 요청이 모든 것이 어떻게 작동하는지 이상합니다.
강조 커밋은 다른 모든 항목을 유지하고 제거해야하는 커밋입니다. 병합 작업을하기 때문에 역사상 네 번째 커밋이됩니다.
누군가가 무슨 일이 일어나고 나타나이 문제를 해결하는 방법을 설명해 주시겠습니까?
이를 수행하는 몇 가지 기술이 있습니다.
이 게시물-되돌리기에 대한 부분을 개발면 우리가 원하는 작업과 수행 방법에 대해 자세히 설명합니다.
문제에 대한 가장 간단한 해결은 다음과 가능합니다.
# Checkout the desired branch
git checkout <branch>
# Undo the desired commit
git revert <commit>
# Update the remote with the undo of the code
git push origin <branch>
revert 명령은 원래 커밋 의 실행 취소 로 새 커밋을 만듭니다 .
사람들은 잘못된 커밋의 변경 사항을 취소하기 위해 잘못된 커밋 및 되돌리기 커밋을보고 싶어하지 않을 것입니다. 이것은 커밋 기록을 오염시킵니다.
다음은 커밋 되돌리기로 변경 사항을 취소하는 대신 잘못된 커밋을 제거하는 간단한 방법입니다.
git checkout my-pull-request-branch
git rebase -i HEAD~n
// 여기서는n
대화 형 리베이스에 포함 할 마지막 커밋의 수입니다.- 교체
pick
로drop
당신은 폐기하려는 커밋합니다. - 저장하고 종료.
git push --force
따라서 다음을 수행하십시오.
브랜치 이름이 my_branch이고 추가 커밋이 있다고 가정 해 보겠습니다.
git checkout -b my_branch_with_extra_commits
(이 브랜치를 다른 이름으로 저장)gitk
(git 콘솔을 엽니 다)- 유지하려는 커밋을 찾으십시오. 해당 커밋의 SHA를 메모장에 복사합니다.
git checkout my_branch
gitk
(이렇게하면 git 콘솔이 열립니다.)- 되돌리려는 커밋 (변경 전 상태)을 마우스 오른쪽 버튼으로 클릭하고 "
reset branch to here
"를 클릭합니다 . - 할
git pull --rebase origin branch_name_to _merge_to
git cherry-pick <SHA you copied in step 3. >
이제 로컬 브랜치 커밋 기록을보고 모든 것이 잘 보이는지 확인하십시오.
커밋을 제거하고 변경 사항을 유지하고 싶지 않은 경우 @ferit에 좋은 솔루션이 있습니다.
해당 커밋을 현재 브랜치에 추가하고 싶지만 현재 홍보의 일부가되는 것이 의미가 없다면 대신 다음을 수행 할 수 있습니다.
- 사용하다
git rebase -i HEAD~n
- 제거하려는 커밋을 맨 아래 (가장 최근) 위치로 바꿉니다.
- 저장하고 종료
- 사용
git reset HEAD^ --soft
변경 사항을 uncommit하고이 상태를 무대에 다시 얻을. git push --force
제거 된 커밋없이 원격 분기를 업데이트하는 데 사용 합니다.
이제 원격에서 커밋을 제거했지만 로컬에서 변경 사항은 그대로 유지됩니다.
참고 URL : https://stackoverflow.com/questions/36168839/how-to-remove-commits-from-a-pull-request
'ProgramingTip' 카테고리의 다른 글
신속한 코드에서 @objc를 언제 사용합니까? (0) | 2020.10.29 |
---|---|
오류 : ': app : transformClassesWithDexForDebug'작업에 대한 실행이 실패했습니다. (0) | 2020.10.29 |
Xcode- 오류 ITMS-90635- 아름다운 Mach-O-App Store에 출시 (0) | 2020.10.29 |
클래스 메서드를 호출하면 Python에서 TypeError가 발생합니다. (0) | 2020.10.29 |
Resharper 제거 -Visual Studio가 더 이상 올바른 오류 강조 표시를 표시하지 않습니다. (0) | 2020.10.29 |