왜 찌그러 진 커밋 만 푸시합니까? 그게 미친 소리 야.
귀하의 질문에 대답 할 수 있지만 :
git checkout -b newbranch # checkout new branch
git reset --soft C# move to commit C
git add -u # add all changes to index
git commit -m 'squashed commit'
또 다른 가능성은 오류 복구 모두가 하나 하나에 커밋/스쿼시 rebase -i
을 사용하는 것입니다 :
관심 또한
git checkout -b newbranch
git rebase -i C# now, replace every 'pick' with 'fixup'/'squash' except the first one
가 git merge --squash
입니다 :
실제 병합이 발생하는 것처럼 작업 트리 및 인덱스 상태를 생성합니다 (exc ept를 사용하여), 실제로 HEAD를 커밋하거나 이동하지 마십시오. $ GIT_DIR/MERGE_HEAD를 기록하여 다음 git commit 명령으로 병합 커밋을 생성하지 마십시오. 이렇게하면 다른 브랜치 (또는 문어의 경우 더 많이)를 병합하는 것과 동일한 효과를 가지는 현재 브랜치 위에 단일 커밋을 생성 할 수 있습니다.
git checkout -b newbranch C# create newbranch at commit C
git merge --squash mybranch
git commit -m 'squashed commit'
감사합니다. – Phillip