遠程工作時我無法推送,所以我想從尚未推送到我的開發分支上的所有提交中創建一個單一補丁來發送電子郵件。我怎麼做?git從unpushed提交創建補丁
6
A
回答
10
git format-patch <commit-ish>
爲自指定提交以來所做的每次提交創建一個補丁文件。
因此,要導出所有unpushed提交,簡單地說
git format-patch origin/master -o patches/
,他們都將被輸出到patches/
目錄。
如果你想有一個單個文件,添加--stdout
:
git format-patch origin/master --stdout > patches_$(date -I).patch
這將創建與它所有的補丁名爲patches_2014-10-03.patch
文件(或其他日期)。 注意:patch
或其他簡單的補丁程序應用程序無法應付生成的文件。它只能與git am
一起使用。
旁註:
一個更容易(和更強大的)事情可能是,讓您的回購協議的副本在閃存棒或similiar。然後將拇指驅動器設置爲遙控器(git remote add thumb /media/thumbdrive
),然後將其提交給它(git push thumb master
),然後返回公司時,從驅動器拉出並推到原點。
3
相反的creating a patch,你可以創建一個bundle(意爲代表的git回購,從中你就能拉的文件)。
就你而言,需要一個incremental bundle。
git bundle create ../yourRepo.bundle" --since=x.days.ago --all
那時數量要擺在那束天更換x
:不要害怕把「太邁恩」天在回購:有人從你的包克隆將只得到新的提交,而不是他/她在當地回購中已經擁有的那個。
捆綁包是一個單獨的文件,就像一個補丁,但可以用作Git倉庫:易於複製和易於使用(作爲常規的Git倉庫)。
如果您的唯一用途是通過從遠程回購(您無法直接推送)完成提交來完成本地回購,則這比補丁更容易。
相關問題
- 1. 在eclipse中創建git補丁提交
- 2. 的Git補丁提交
- 3. Git從幾個提交創建一個補丁
- 4. 如何在Git中無需提交創建補丁
- 5. git p4提交:補丁不適用
- 6. 如何從git存儲庫提取提交補丁
- 7. 如何從不同的提交創建一個補丁?
- 8. 用Intellij創建git修訂補丁
- 9. 在git中創建補丁文件
- 10. 如何使用git-extensions創建補丁
- 11. Rails activeRecord補丁和提交
- 12. 產生從Git項目的補丁文件沒有提交
- 13. Git - 從補丁文件重建/克隆
- 14. 應用從以前的一個git補丁提交到以後提交
- 15. TortoiseHg - 如何在不提交的情況下創建補丁
- 16. 如何從兩個文件創建git補丁?
- 17. Git補丁Java Imports
- 18. Git使用補丁
- 19. Git應用補丁
- 20. GIT補丁 - 或 - 推?
- 21. 從合併請求創建補丁
- 22. 如何創建補丁?
- 23. 創建補丁和SmartGit
- 24. 如何爲特定提交獲取「git log」補丁
- 25. 作爲補丁導出特定的Git提交
- 26. git發現重複的提交(通過補丁ID)
- 27. 的git-P4提交失敗,補丁不適
- 28. 應用git補丁會產生一個意外的提交#
- 29. git的格式補丁輸出文件沒有提交信息
- 30. 如何應用`git-log -p <filename>`創建的補丁文件來創建包含的所有提交?
絕對不可能重複[Viewing Unpushed Git Commits](http://stackoverflow.com/questions/2016901/viewing-unpushed-git-commits) – d33tah 2014-10-03 10:37:51
該線程只回答如何查看unpushed提交,沒有說從他們那裏創建一個補丁 – Kosmotaur 2014-10-05 20:29:50