gpt4 book ai didi

java - 当 git 与另一个分支 merge 时,java 文件中缺少一些变量声明

转载 作者:行者123 更新时间:2023-11-30 07:20:35 24 4
gpt4 key购买 nike

我有两个 git 分支,我将这两个分支 merge 在一起。 java类之一,缺少一些变量声明。

一个分支

class Cal {

int x =10 ;
int y = 20 ;

public void m(){
system.out.print (x+y);
}}

B分支

class Cal {

int a =10 ;
int b = 20 ;

public void m2(){
system.out.print (a+b);
}}

分支 A merge 到分支 B

然后;

class Cal {

int a =10 ;
int b = 20 ;

public void m(){
system.out.print (x+y);
}

public void m2(){
system.out.print (a+b);
}

}

发生这种情况有什么特殊原因吗?

最佳答案

是的,您可能修改了两个文件中的相同行,因此您应该遇到 merge 冲突。当您解决冲突时,您应该这样做以使生成的代码正确。 Git 不够聪明,无法为你做到这一点(如果是的话,我会雇用它并解雇自己(老板,你在读吗?))。阅读 here 。当您进行 merge 时,您应该考虑使用 --no-commit 标志来允许您构建生成的 merge 代码并确保它在提交之前是正确的,否则您将需要在下一次提交时更正 merge 问题(并可能在推送之前重新设置/挤压以清理困惑)。

一个不那么轻率的答案 - 当 git 发现文件的不同行在每个 merge 候选中被修改时,它假设您想要两者,因此将两个更改“添加”在一起。但如果你改变完全相同的行,那么它真的不知道你想如何处理这种情况。因此,它使用显示两个选项的 git 标记来标记文件,并要求您进入那里并“解决”这两个选项,直到您满意为止。这些是您在文件中看到的有趣的 <<<<<、=====、>>>> 标记。通过选择其中之一或两者或其他任何方式来编辑该问题以解决问题,然后继续。当您进行 merge 时,您可能只选择了一组而不是另一组,这就是您在最终 merge 中丢失另一组的原因。

关于java - 当 git 与另一个分支 merge 时,java 文件中缺少一些变量声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37637844/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com