相关疑难解决方法(0)

从git存储库创建补丁或diff文件,并将其应用到另一个不同的git存储库

我在基于WordPress的项目上工作,我想在每个新版本的WP上修补我的项目.为此,我想在两个提交或标签之间生成一个补丁.

例如,在我的回购中,/www/WP我这样做:

$git patch-format com1..com2 --stdout > ~/patchs/mypatch.patch

要么

$git patch-format tag1..tag2 --stdout > ~/patchs/mypatch.patch

/www/WP git natif WordPress

/www/myproject 我的git项目基于WordPress

git apply命令行是不行的,我想是因为我们是在不同的存储库.

我可以生成一个没有提交的补丁文件,只是一个差异并将其应用到另一个git存储库吗?

谢谢你.

git diff patch git-diff git-apply

125
推荐指数
3
解决办法
12万
查看次数

git am/format-patch:行结尾的控制格式

我用三个提交创建了一个补丁

git format-patch <revision_three_commits_ago>
Run Code Online (Sandbox Code Playgroud)

这会创建三个我从笔记本邮寄的补丁文件,并在我的桌面计算机上读取邮件(两个都是Windows框).

我什么时候做

git am --3way --ignore-space-change *.patch
Run Code Online (Sandbox Code Playgroud)

补丁适用,但我没有为提交获得相同的SHA1 ID.在修补文件中搜索了一下,我发现台式计算机上的修改后的行结束了LF,而笔记本上的修改后的行(我创建了修补程序)结束了CR LF.

所以,我的第一个念头就是打电话给git am没有--ignore-space-change,但是这给了我一个错误(补丁不适用).

我怎么能告诉git format-patch或者git am如何处理行结尾(msysgit 1.7.4)?

难道我真的拿VIM和更改文件格式UNIXDOS之前,我可以应用补丁?


编辑:甚至没有用VIM修改补丁文件有帮助:我想,set ff=dos一个:%s/^M//g会有所帮助,但事实并非如此!

在我看来,应用补丁应该会产生完全相同的内容,也会产生相同的提交哈希值,就像我从创建补丁的其他repo中提取的那样.我错了吗?

git format-patch

12
推荐指数
2
解决办法
6411
查看次数

如何使用 VSC UI 选择差异补丁并将其应用到 Visual Studio Code 中的特定文件?

我收到了我正在处理的项目的 diff 补丁,我想知道 Visual Studio Code 中是否有一种简单的方法,可以将该 diff 应用于它所引用的文件?

Visual Studio Code 在最近几个版本中添加了一些 git 支持。

我不想使用 git 命令行工具(我不会拒绝答案,但不会接受它们作为解决方案)。

例如,我想知道是否可以右键单击主源文件并选择一个选项“应用差异补丁”,然后它会打开一个文件对话框,允许我选择差异文件并应用更改。

我也有 Github Desktop 可供使用,但似乎也没有“应用差异”选项。

提前致谢。

我看过这个相关帖子:

如何获取 git diff 文件,并将其应用到作为同一存储库副本的本地分支?

当我运行 git 命令时,出现错误:

Directory$ git apply xcrun:错误:无效的活动开发人员路径(/Library/Developer/CommandLineTools),缺少 xcrun 位于:/Library/Developer/CommandLineTools/usr/bin/xcrun

更新安装 XCode 命令行工具后,上述错误消失了(更多信息请参见此处,https://www.studytonight.com/post/solved-mac-os-xcrun-error-invalid-active-developer-path-missing- xcrun)。但 apply 命令似乎仍然没有做任何事情。

Update2: 看来我必须解决 diff 补丁中使用的不同文件夹结构。请参阅/sf/answers/4622933241/。

Visual Studio Code 的 Git 补丁看起来就像我正在寻找的。但是,这是我在使用它时看到的错误。

在此输入图像描述

git visual-studio-code github-desktop

9
推荐指数
1
解决办法
3万
查看次数