Git 将存储转换为由#ifdef SYM分隔的工作更改
我想应用Git 将存储转换为由#ifdef SYM分隔的工作更改,git,Git,我想应用stash@{4}中的一组更改,但更改会合并到工作副本(或新提交)中,这样预处理器符号就可以选择任何一个版本 (这是GNU diff和diff3程序的一项功能:请参阅--ifdef选项。) 比如说像你这样的大块头 @@ -123,7 +123,7 @@ a b c -foo +bar d e f 实际应用于工作文件,如下所示: a b c #ifdef SYM bar #else foo #endif d e f 如果定义了SYM,则文本对应于打补丁的版本,而如果未定义,
stash@{4}
中的一组更改,但更改会合并到工作副本(或新提交)中,这样预处理器符号就可以选择任何一个版本
(这是GNU diff和diff3程序的一项功能:请参阅--ifdef
选项。)
比如说像你这样的大块头
@@ -123,7 +123,7 @@
a
b
c
-foo
+bar
d
e
f
实际应用于工作文件,如下所示:
a
b
c
#ifdef SYM
bar
#else
foo
#endif
d
e
f
如果定义了SYM
,则文本对应于打补丁的版本,而如果未定义,则文本扩展到基本版本
也许这可以通过
git merge
来实现,不知何故告诉git
使用diff3--ifdef=SYM
进行合并?我突然意识到:patch
也有一个--ifdef/-D
选项
git stash show -p stash@{4} | patch -p1 -D SYMBOL
完成了