我在基于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 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和更改文件格式UNIX
来DOS
之前,我可以应用补丁?
编辑:甚至没有用VIM修改补丁文件有帮助:我想,set ff=dos
一个:%s/^M//g
会有所帮助,但事实并非如此!
在我看来,应用补丁应该会产生完全相同的内容,也会产生相同的提交哈希值,就像我从创建补丁的其他repo中提取的那样.我错了吗?
我收到了我正在处理的项目的 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 补丁看起来就像我正在寻找的。但是,这是我在使用它时看到的错误。