Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在两个git分支之间合并一个文件时出现问题_Git_Github_Version Control - Fatal编程技术网

在两个git分支之间合并一个文件时出现问题

在两个git分支之间合并一个文件时出现问题,git,github,version-control,Git,Github,Version Control,我有两个分支,假设是A和B A是将用于生产的主分支机构,B是我用于本地测试的另一个分支机构。因此,我使用本地数据库处理分支机构B,并在发送电子邮件时将其发送给自己,因为在本地测试时不应将其发送给客人 因此,我有一个名为booking_confirmation.cs的文件,在该文件中,当我在本地测试时,电子邮件将是我的,当我切换到master branch时,它将是实时的客户电子邮件 因此,除了电子邮件部分,我只做了一些更改。我希望电子邮件保持不变,这样我就不必每次切换分支时都进行更改。现在我的问

我有两个分支,假设是A和B

A是将用于生产的主分支机构,B是我用于本地测试的另一个分支机构。因此,我使用本地数据库处理分支机构B,并在发送电子邮件时将其发送给自己,因为在本地测试时不应将其发送给客人

因此,我有一个名为booking_confirmation.cs的文件,在该文件中,当我在本地测试时,电子邮件将是我的,当我切换到master branch时,它将是实时的客户电子邮件

因此,除了电子邮件部分,我只做了一些更改。我希望电子邮件保持不变,这样我就不必每次切换分支时都进行更改。现在我的问题是,我只需要在文件的分支B中进行其他更改,而不需要在电子邮件中进行任何切换

我试过的是

我检查了主分支以确保它正在使用

git checkout A
然后我从分支B签出了我在分支A中需要的特定文件,所以我尝试了

git checkout B booking_confirmation.cs
如果我要合并的文件中没有冲突,git会自动合并,不会出现任何问题,但是如果有冲突,我会得到下面的错误

-我们不能合并

那么,是否有一种方法可以合并文件,以便我可以选择/合并主分支中我需要的文件的哪一部分。任何帮助都将不胜感激

提前谢谢

因此,我有一个名为booking_confirmation.cs的文件,在该文件中,当我在本地测试时,电子邮件将是我的,当我切换到master branch时,它将是实时的客户电子邮件

嗯。。。这是一个很好的机会,让您的代码对环境变化(如prod与test)更加健壮

所说的代码可以有一个固定值。。。除非设置了一个环境变量,否则在这种情况下,它将作为所述环境变量

由于它与配置相关,请参阅“”

这将避免所有“git签出保留一行”问题。
您保留了一个相同的代码,但仅在测试期间,您在执行时通过环境变量重写了一个值


但是如果您必须通过Git管理这一行,那么您还可以设置一个,在签出时可以评估被签出的分支,并将正确的值放入源文件中

(摘自):""

smudge
脚本将是一个简单的
sed
,用正确的值替换声明电子邮件地址的一行(在
booking\u confirmation.cs

因此,我有一个名为booking_confirmation.cs的文件,在该文件中,当我在本地测试时,电子邮件将是我的,当我切换到master branch时,它将是实时的客户电子邮件

嗯。。。这是一个很好的机会,让您的代码对环境变化(如prod与test)更加健壮

所说的代码可以有一个固定值。。。除非设置了一个环境变量,否则在这种情况下,它将作为所述环境变量

由于它与配置相关,请参阅“”

这将避免所有“git签出保留一行”问题。
您保留了一个相同的代码,但仅在测试期间,您在执行时通过环境变量重写了一个值


但是如果您必须通过Git管理这一行,那么您还可以设置一个,在签出时可以评估被签出的分支,并将正确的值放入源文件中

(摘自):""


smudge
脚本将是一个简单的
sed
,将声明电子邮件地址的一行(在
booking\u confirmation.cs
中)替换为正确的值。

您可以使用交互式窗口手动管理合并确认/结果来合并文件booking\u confirmation.cs:

git checkout A
git checkout --patch B  booking_confirmation.cs

然后可以手动处理文件的合并结果。例如输入
y
以应用更改,输入
e
以手动编辑更改等。

您可以使用交互式窗口通过手动管理合并确认/结果来合并文件booking\u confirmation.cs:

git checkout A
git checkout --patch B  booking_confirmation.cs

然后可以手动处理文件的合并结果。例如输入
y
以应用更改,输入
e
以手动编辑更改等。

您是否得到有助于解决问题的答案?如果是,您可以将其标记为答案。这也会让其他有类似问题的人受益。你得到了帮助你解决问题的答案吗?如果是,您可以将其标记为答案。这也将有利于其他有类似问题的人。