커밋을 "스쿼시"해야합니다. 일반적으로 나는 이런 식으로 뭔가를 사용하고 있습니다 :젠장, 스쿼시 rebase를 강제하는 법
git rebase -i HEAD~10
을하지만, 지금은 아래의 오류를 얻고있다 : 당신은 내가 모든 충돌을 해결 git
척을 볼 수 있듯이
error: could not apply 2009972... fixes
When you have resolved this problem, run "git rebase --continue". If you prefer to skip this patch, run "git rebase --skip" instead. To check out the original branch and stop rebasing, run "git rebase --abort".
. 자, 은을 원하지 않으므로 충돌을 해결할 수 없습니다.
내가 필요한 것은 git
과 같은 것을 알려주는 방법입니다. "이봐, 난 아무것도 병합하고 싶지 않아. 그냥이 지점에있는 모든 추적 된 파일을 가져 가라. - 마지막 커밋/HEAD에 나타나면 버리고 제거하라. 예를 들어,
이 모두의 목록입니다 해시 위탁 가정 : 마지막으로 최신의, 그리고 전에 이전 10 커밋은 "새 커밋으로이 파일을"적용 "
1-2-3-4-5-6-7-8-9-10-11-12
, HEAD 포인트 (12)에을
나는이 작업이 모두 2에서 커밋이라고 불리는 모든 것을 스쿼시하거나 제거하려고합니다. git log
후 최종 결과가 제공되도록 -11 포함 : 전과 수술 후 파일이 같은해야합니다
1-12
내가 필요한 것을 얻기위한 명령은 무엇입니까?
덕분에, 저는 - 소프트에 대해 잊어 버렸지 만, 제 2의 해결책에 관심이 있습니다. 당신이 그들의 행동이 정확히 무엇인지, 그리고 "당신을 위해 일하는 것"이 무엇인지 설명 할 수 있습니까? – Martin
예 해당 커밋 중 일부는 자체적으로 병합됩니다 – Martin
전략에 대한 설명은 병합 및 리베이스 문서를 참조하십시오. rebase -i는 패치를 하나씩 순서대로 재생하며'-s theirs'는 충돌이 있음을 의미합니다. 새로운 state_를 취하십시오 (즉, 커밋 리베이스가 현재 재생 중입니다). – Useless