将git diff写入存储库文件
我有一个部分自动生成的代码库。现在,经过大量修改后,代码生成器有了一个新版本,因此如果我重新生成自动部分,很多代码将被覆盖。我想做的是将将git diff写入存储库文件,git,diff,Git,Diff,我有一个部分自动生成的代码库。现在,经过大量修改后,代码生成器有了一个新版本,因此如果我重新生成自动部分,很多代码将被覆盖。我想做的是将git diff补丁完全按原样写入文件,这样我就可以检查它们并手动解决更改 换句话说,我希望应用补丁,但以某种方式将两个版本保持在文件中分开(可能像冲突),这样我就可以在IDE中找到它们,并决定保留或移动什么 例如,假设文件a.c的头部状态为: #include "a.h" #include "main.h" void someFunction(void) {
git diff
补丁完全按原样写入文件,这样我就可以检查它们并手动解决更改
换句话说,我希望应用补丁,但以某种方式将两个版本保持在文件中分开(可能像冲突),这样我就可以在IDE中找到它们,并决定保留或移动什么
例如,假设文件a.c
的头部状态为:
#include "a.h"
#include "main.h"
void someFunction(void) {
Some setup
not gonna change
some random stuff 1
closing remarks
}
现在,该文件如下所示:
#include "a.h"
#include "main.h"
void someFunction(void) {
different setup
not gonna change
// USER CODE BEGIN
// USER CODE END
closing remarks
}
在文本编辑器中打开文件时,我希望看到的是:
#include "a.h"
#include "main.h"
void someFunction(void) {
>> OLD
Some setup
== NEW
different setup
<<
not gonna change
>> OLD
some random stuff 1
== NEW
// USER CODE BEGIN
// USER CODE END
<<
closing remarks
}
#包括“a.h”
#包括“main.h”
void函数(void){
>>旧的
一些设置
==新的
不同的设置
>旧的
一些随机的东西1
==新的
//用户代码开始
//用户代码结束
运行代码生成器,然后您可以使用git diff
将更改的文件与提交的文件进行比较。如果您需要更具交互性的diff,则可以使用git difftool
()。git用于difftool
的程序可以使用git config
()进行配置;类似的功能应该可以工作
注意,提交生成的文件通常被认为是不好的做法,您可以考虑只提交生成其余文件所需的文件。
这不是一个可接受的答案,我很清楚地认识到<代码> GIT-DIF和 DeCuooS/<代码>,也没有达到我所期望的,这在我的问题中清楚地显示出来。