Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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与程序集DLL文件冲突_Git - Fatal编程技术网

Git与程序集DLL文件冲突

Git与程序集DLL文件冲突,git,Git,我能够“git添加”我的文件,然后“git提交”。进展顺利。当我试图推到遥控器时,我得到了一个错误,Git暗示要先“Git拉”,然后再试一次。所以我做了一个“git pull”。但我最终得到了一堆冲突,但只是在一些DLL文件上。我想这是因为我们应该将它们添加到.git中,而我们还没有这样做 如何修复当前推送?要解决合并冲突,必须在本地DLL文件和远程DLL文件之间进行选择: git checkout --ours -- path/of/file.dll # This chooses th

我能够“git添加”我的文件,然后“git提交”。进展顺利。当我试图推到遥控器时,我得到了一个错误,Git暗示要先“Git拉”,然后再试一次。所以我做了一个“git pull”。但我最终得到了一堆冲突,但只是在一些DLL文件上。我想这是因为我们应该将它们添加到.git中,而我们还没有这样做


如何修复当前推送?

要解决合并冲突,必须在本地DLL文件和远程DLL文件之间进行选择:

git checkout --ours -- path/of/file.dll     # This chooses the local file
git checkout --theirs -- path/of/file.dll   # This chooses the remote file
然后,您必须将冲突解决标记为

git add path/of/file.dll
然后像往常一样完成合并(
git commit
一旦完成)

如果您想忽略DLL文件(这可能是个好主意),您必须将它们添加到
.gitignore
文件中,但是由于它们已经被git跟踪,您必须通过

git rm --cached path/of/file.dll
git checkout在这种情况下接受--我们的或--他们的选项。因此,如果存在合并冲突,并且您知道您只需要合并分支中的文件,则可以执行以下操作:

$git checkout--theres--path/to/conflicted-file.txt

使用该版本的文件。同样,如果你知道你想要你的版本(不是被合并的版本),你可以使用

$git checkout--ours--path/to/conflicted-file.txt


更多答案

在git中合并二进制文件是站不住脚的。如果DLL是根据项目代码生成的:

1-二进制文件不应该成为git中的一部分。。。。但是,如果您觉得有用,请确保为每个新版本生成DLL,以便DLL与版本的源文件匹配(但这完全是另一个主题)

2-您应该从合并后的源代码生成DLL(已经解决了源文件上的所有冲突),然后提交所有DLL