问题标签 [format-patch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 自上次提交以来如何在 Git 中创建补丁?
我可以使用什么命令来创建包含自上次推送以来提交的单个补丁文件?
谢谢,纳夫尼特
github - 如何从 GitHub 中的特定提交中快速获取补丁?
我在 GitHub 存储库上有一个特定的提交,我想从中提取一个补丁以应用到不同的地方,类似于我在使用git format-patch
.
我很懒,或者存储库太大,我不想获取整个存储库只是为了提取那个补丁。
我怎样才能快速做到这一点?
git - 哪个更好用,为什么?git format-patch 还是 git bundle?
我基本上有3个问题:
- 哪个更好用,为什么?git format-patch 还是 git bundle?
- GIT 使用哪些元数据来计算提交和 blob/树的 SHA-1 密钥?
- 当我应用由 format-patch 创建的补丁时,为什么它对相同的更改和提交有不同的 SHA?
git - 何时将 --keep-cr 与 am 一起使用,它是在哪个版本的 git 中引入的?
我正在尝试为我们的组织制定补丁工作流程。我们有一个内部项目,我们不介意空格(如果可能,希望每个用户保持相同)、EOF/EOL 字符等。我们有开发人员在 Mac 和 Windows 平台上工作。在这两个地方,我们都使用 git 和 Cygwin。
我在这里读到 core.autocrlf true 可以解决问题,或者您可以使用--keep-cr
. 但这里 VonC 建议core.autocrlf
false是一个更好的策略。
我的问题是:
- 什么时候用真,什么时候用假?(我只是不想让 git 打扰我,补丁应该顺利应用)。
- 什么时候
--keep-cr
介绍的?我使用 git 1.7.2 并且手册页没有这个选项? - 使用哪些忽略空白选项以实现平滑的补丁工作流程?
git - 邮件线程格式的补丁——如何?
我正在和另外 3 个人一起开发一个工具。我们通常通过 git 中的补丁进行通信。我们这样做: 1. A 进行更改,使用 format-patch 创建补丁,将其附加到 mail(outlook) 并发送。2. B和C下载,放置在x
位置并使用am申请。
我的问题是:
- 我们做错了什么吗?(因为我们必须明确地将补丁附加到 Outlook 并下载)
- 有没有一种工具或方法可以让我以这种格式来回查看补丁?这样我就可以立即从 git 本身获得整个补丁对话,这样我就不需要查看 conv 历史的前景。
git - 查找外部补丁文件的提交版本
我在一个文件的旧论坛线程中找到了一个修补文件,我有一个 git 存储库。
我想知道使用了哪个版本的文件(可能是diffstat较少的那个?)
我仍然是一个 git 新手。
是否已经有一些内置的 git 用于这样的检查?如果没有,我如何列出文件的每个更改版本并签出特定版本?(只有主分支)
git - 多分支设置中的 git 格式补丁
1. 摘要
我的最终目标是将在 linux-kernel 存储库中的客户端分支上完成的一些客户端更改带到另一个 linux-kernel 存储库,因为两者都有一个共同的基本标记(例如 v4.2,客户端的分支已经从最初创建)。
为此,我正在尝试创建一堆补丁,代表客户端分支的基础和头部之间的差异。在这第一步中,我正在使用git format-patch
. 第二步是在第二个 repo 中使用git am
.
git diff
和 GNUdiff
对我不感兴趣,因为我不想丢失提交元数据(作者、消息等)。
2. 演示设置
我创建了一个简单的 git 提交流程来举例说明这个问题。下图描述了这个演示 repo的分支设置:
3. 重现问题的步骤
$ git status
On branch master Your branch is up-to-date with origin/master. nothing to commit, working directory clean.
$ git format-patch BASE
0001-commit-2-br1.patch
$ git checkout BASE
HEAD is now at 65772fd... commit 3-master
$ git apply 0001-commit-2-br1.patch
error: patch failed: file:1 error: file: patch does not apply
4. 附加信息和问题
git diff BASE f316460 > my.patch
作品!然而,正如摘要中所述,这不是我的解决方案。我相信
git format-patch
在多分支设置中还不够聪明。有没有人遇到同样的问题?是否有任何方法可以在没有 的情况下实现相同的目标
git format-patch
?
git - 从特定提交创建 git 补丁
假设您在分支 A 上有提交:
并且您想从提交 1、2、4、6 创建一个补丁。我认为可以使用 3 个补丁:
但是可以使用单个补丁吗?
git - 空提交上的 git format-patch 返回意外结果
在这个问题上找不到关于 git docs 的任何解释:
如果我创建一个带有一些虚拟差异的虚拟提交,我在运行时会得到一个正常的补丁
git format-patch -1 -o outgoing/ -p -k
但如果最后一次提交是空提交,则由
git commit --allow-empty "Some commit message"
那么格式补丁的输出将是一个空补丁。如果第一种情况产生这样的结果:
那么第二种情况不应该产生这样的东西吗?
git - 带有格式补丁的 git 多个主题前缀
我想在使用format-patch
git 选项时为我的补丁添加一个以上的主题前缀。
主题应该看起来像
这个怎么做?
正在做
结果是