我有一个.dll文件,该文件已被跟踪并添加到源代码管理中(因此在任何地方都不会被忽略)。 问题是我最近更新了它,但是Sourcetree没有检测到它已更改。
答案 0 :(得分:2)
git add -f
原因之一是“ * .dll”可能在您的全局忽略中。
我们可以使用git check-ignore
来查找全局gitignore文件的位置。git ls-files . --ignored --exclude-standard --others
答案 1 :(得分:0)
首先,在与latest Git for Windows的CMD会话中,使用simplified PATH切换到命令行。
在那里,转到您的repo根文件夹,然后使用git check-ignore
进行键入:
git check-ignore -v -- path/to/your/file.dll
如果没有返回任何内容,则可以确定它不会被忽略,应该对其进行跟踪。
使用git check-attr
输入:
git check-attr --all -- path/to/your/file.dll
如果未返回任何内容,则意味着没有.gitattributes
指令会影响应该检测到的差异。
确保git status
提到您在分支上(而不是分离的HEAD)
2019年2月针对Git 2.21的更新:在特定路径上询问“ git check-attr”有关宏(例如“二进制”)的问题无法正常工作,即使“ git check-attr -a
”正确列出了这样的宏也是如此。这已得到纠正。
请参见commit 7b95849的Jeff King (peff
)(2019年1月18日)。
(由Junio C Hamano -- gitster
--在commit 02bf766中合并,2019年2月5日)
这意味着,在Git 2.21中,git check-attr binary file
应该返回file: binary: set
。 (而不是file: binary: unspecified
)
答案 2 :(得分:0)
查看nuget以从git中获取第三方dll。 第三方供应商是否为此程序集提供nuget提要?
如果没有,值得让他们开始。如果没有,你可以做一个 https://docs.microsoft.com/en-us/nuget/create-packages/creating-a-package
您已经有私人的nuget供稿了吗?如果没有,那么值得研究。 https://docs.microsoft.com/en-us/nuget/hosting-packages/overview
将派生的工件从源头中剔除会变得更加快乐。