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