远程工作时我无法推送,所以我想从尚未推送到我的开发分支上的所有提交中创建一个单一补丁来发送电子邮件。我怎么做?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 p4提交:补丁不适用
- 4. 如何从git存储库提取提交补丁
- 5. 如何从不同的提交创建一个补丁?
- 6. 在git中创建补丁文件
- 7. 用Intellij创建git修订补丁
- 8. Rails activeRecord补丁和提交
- 9. 产生从Git项目的补丁文件没有提交
- 10. Git - 从补丁文件重建/克隆
- 11. TortoiseHg - 如何在不提交的情况下创建补丁
- 12. 如何从两个文件创建git补丁?
- 13. Git使用补丁
- 14. 从合并请求创建补丁
- 15. git的格式补丁输出文件没有提交信息
- 16. git发现重复的提交(通过补丁ID)
- 17. 的git-P4提交失败,补丁不适
- 18. 如何为特定提交获取“git log”补丁
- 19. 如何应用`git-log -p <filename>`创建的补丁文件来创建包含的所有提交?
- 20. 当提到'提交补丁'时,补丁这个词是什么意思?
- 21. 在哪里提交亚音速补丁?
- 22. 查看补丁合并提交
- 23. git show unpushed work
- 24. git格式补丁限制?
- 25. git:补丁不适用
- 26. 更新已提交补丁集的提交消息
- 27. 使用“git format -patch origin/master --stdout”创建的空补丁
- 28. 如何通过git/patch/*为Rietveld创建补丁程序?
- 29. git格式的补丁可以用于补丁程序吗?
- 30. 是否可以使用已经提交的更改在Eclipse中创建补丁?
绝对不可能重复[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