标题说明了一切。我正在尝试将我的NuGet软件包添加到存储库中。.dll文件以外的所有文件都被检测到。
gitignore文件不包含对* .dll的引用。.dll文件在整个存储库中的任何位置都不会被识别。信息/排除也为空。
我还克隆了存储库(文件系统到文件系统,而不是从远程到文件系统)。在两台不同的计算机上也会发生此问题。
我可以手动添加.dll文件,但应该对其进行跟踪。为什么不对其进行跟踪?
标题说明了一切。我正在尝试将我的NuGet软件包添加到存储库中。.dll文件以外的所有文件都被检测到。
gitignore文件不包含对* .dll的引用。.dll文件在整个存储库中的任何位置都不会被识别。信息/排除也为空。
我还克隆了存储库(文件系统到文件系统,而不是从远程到文件系统)。在两台不同的计算机上也会发生此问题。
我可以手动添加.dll文件,但应该对其进行跟踪。为什么不对其进行跟踪?
Answers:
你有两种~/.gitignore_global
或者~/.gitignore
其中也可以列出这些文件模式你的home目录?
git check-ignore
出来找出文件在哪里。在〜/ Documents / gitignore_global.txt上找到它
如果您使用SourceTree和默认设置,则默认情况下它将忽略所有DLL ... Tools => Options => Git,然后“ Edit File” ...在.dll =>“#. dll” 之前添加“# ”。 。 保存并关闭。
然后对于Windows资源管理器,在您的packages文件夹中,打开一个GitBash终端,然后输入“ git add”。然后让它工作,回到SourceTree中,等待一秒钟,所有那些丢失的包DLL都会显示出来,供您提交和推送。
我可以手动添加.dll文件,但应该对其进行跟踪。为什么不对其进行跟踪?
不,除非您已添加它们,否则不应跟踪它们。仅跟踪已经添加和提交的文件;这就是“跟踪”的意思。
尝试通过手动添加其中一个,git add
它会告诉您为什么忽略它们,并提示您仍然使用git add -f
添加文件。
您需要明确告诉git跟踪任何新文件。
运行git add filename
以将文件添加到git的索引。
运行git commit
以提交索引中的更改。
git status
还应显示未跟踪文件和目录的列表。
如果要列出仓库中所有被gitignore忽略的文件,可以运行:
git ls-files . --ignored --exclude-standard --others
如果要列出存储库中所有未跟踪的文件:
git ls-files . --exclude-standard --others
我遇到了类似的问题。我无法将包目录中的.dll文件添加到我的git中,然后我发现gitignore_global.txt文件作为sourcetree自动将其添加为全局git忽略设置。我从gitignore_global.txt文件中删除了* .dll,它对我来说很好用。
gitignore_global.txt文件的位置如下
C:\ Users \ XXXX \ Documents \ gitignore_global.txt,或者您可以从sourcetree TOOL => OPTION => GIT选项卡中找到它,并找出全局忽略列表
您在全局位置.gitignore
或.gitignore
子目录中的其他文件-相对于项目的根目录。
在Linux Systems和MacOS上,全局git-ignore最有可能在您的家庭中 ~/
~/.gitignore_global
在Windows上,可能在您的用户目录中。您的本地用户(您可以通过键入ECHO %USERPROFILE%
或whoami
在命令行中找到。
如果不存在,则肯定.gitconfig
存在a 。在此处查找gitignore的位置(例如,用户的Documents
文件夹)。
编辑:git config --list --show-origin
用于获取有关git-settings及其对应文件位置的详细信息。
git config --get core.excludesfile
发言权?