나는 마스터 브랜치를 가졌다. 그리고이 지사의 기능을 작업하기 시작했습니다. (별도의 지사를 만들고이 지사에서 재생하는 것을 잊었습니다.) 기능 구현이 끝나기 전에 더미 이름 등으로 마스터하기 위해 수십 개의 커밋이있었습니다. 이제이 기능을 마스터 원본으로 푸시하고 싶습니다. 하지만 전 커밋 내역을 강요하고 싶지는 않습니다. git log에서 중간 단계를 "롤백"하는 방법이 있습니까?푸시하기 전에 여러 커밋을 하나에 병합
0
A
답변
2
당신은 12 아마이없이 커밋의 임의의 수를 납작하게됩니다
git reset --soft @{u}
git commit -m "YOUR COMMIT MESSAGE"
git push
을 수행하는 가장 빠른 것입니다 커밋 가지고 있기 때문에 당신은 커밋 단위로 아무것도하지 않아도된다.
0
스쿼시 기능이있는 git rebase
을 고려하십시오. manpage을 참조하십시오.
0
원하는 것은 squash
입니다. 함께 커밋하십시오. 시작한 이래로 10 개의 커밋을했다고 가정 해보십시오. 당신은 할 것 :
git rebase -i HEAD~10
- -i : 대화 형 리베이스를
- HEAD ~ 10 : 10에서 커밋 시작하여 현재 전 (HEAD) 지금
당신이있을 것 각 커밋에 대한 줄이있는 편집기. 단어 pick
을 바꿔야합니다. 첫 번째 줄의 경우 edit
(커밋 메시지를 변경할 수 있음)을 입력하고 다른 모든 경우 fixup
(또는 f
)을 입력합니다. 따라서 모든 후자의 커밋은 첫 번째 커밋으로 압축됩니다. 커밋 메시지는 제거되므로 (편집 한 커밋 메시지 만 남아있게됩니다).
그래서 당신은 다음과 같아야 편집중인 파일 :
edit 2fa588e start of devel
fixup c420848 bugfix
f 78c41af bugfix
f 6bff2f0 bugfix blah blah
관련 문제
- 1. 푸시하기 전에 여러 커밋
- 2. 업스트림 변경 사항을 푸시하기 전에 많이 병합 된 브랜치 리셋
- 3. 하나에 여러 워크 시트를 병합
- 4. GitHub 하나에 많은 커밋을 병합하십시오.
- 5. 푸시하기 전에 커밋 메시지를 변경하거나 편집하는 방법
- 6. VC++ 하나에 여러 COM DLL 병합
- 7. PageRenderer를 푸시하기 전에 초기화하십시오. (Xamarin.forms)
- 8. 중앙 저장소로 푸시하기 전에 되돌리기
- 9. 여러 커밋을 결합하고 하나의 커밋을 다른 분기로 병합
- 10. 푸시하기 전에 로컬 git 브랜치 업데이트하기
- 11. 렌더링 전에 여러 부분합 병합
- 12. 병합 커밋을 리베이스
- 13. git에서 커밋을 병합
- 14. git branch stash가 하나에 커밋됩니다.
- 15. 2 개의 다른 커밋을 병합
- 16. SPARQL 쿼리 그래프를 하나에 병합
- 17. 푸시하기 전에 레지스터에 값을 입력해야합니까? 하나 더
- 18. Heroku로 푸시하기 전에 자산을 자동으로 사전 컴파일
- 19. 저장소에 푸시하기 전에 파일을 계산 중입니다.
- 20. 왜 Mercurial은 데이터를 푸시하기 전에 인증하지 않습니까?
- 21. 푸시하기 전에 커밋 된 파일을 무단 처리합니다.
- 22. 하나에 두 바이트를 결합/병합 ...?
- 23. 서버에 푸시하기 전에 매우 오래 전에 커밋 로그를 편집하는 방법
- 24. 하나에 두 개의 커밋을 병합하고 원격 저장소에 푸시
- 25. 부적절하게 마스터에 커밋을 병합 했습니까?
- 26. Subversion이 커밋을 이전 커밋과 병합
- 27. 이전 병합 커밋을 찾는 방법
- 28. 특정 분기에서 병합 커밋을 나열하십시오.
- 29. Google Cloud DataFlow : 여러 파이프 라인을 하나에 동기화/병합
- 30. 사후 병합 커밋을 유지하면서 자식 분기를 병합 해제하십시오.
어떻게 그렇게됩니까? 너 뭐야? –
'@ {u}'는 그의 경우'origin/master'이어야하는'@ {upstream}'의 줄임말입니다. 최종 변경 내용이 포함 된 새로운 커밋을 하나 만듭니다. –
아, 알겠습니다. 매우 똑똑하고 교육적입니다. 미리 분기 할 수있는 옵션을 제안하므로 로컬 저장소가 미래에 대한 전체 기록을 유지합니다. –