git不识别exe文件

Posted

技术标签:

【中文标题】git不识别exe文件【英文标题】:git does not recognize exe file 【发布时间】:2014-04-11 12:17:21 【问题描述】:

我想将 NuGet.exe 上传到 github,但我的本地存储库中没有列出所有 exe 文件。

大约两周前,我确实在另一个项目仓库中上传了NuGet.exe 文件,但现在我根本无法上传任何 exe 文件。没有我专门定义的全局.gitignore

下面的代码是我的.gitignore 文件。 我错过了什么?

# Build Folders (you can keep bin if you'd like, to store dlls and pdbs)
[Bb]in/
[Oo]bj/

# mstest test results
TestResults

## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# User-specific files
*.suo
*.user
*.sln.docstates

# Build results
[Dd]ebug/
[Rr]elease/
x64/
*_i.c
*_p.c
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.log
*.vspscc
*.vssscc
.builds

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf

# Visual Studio profiler
*.psess
*.vsp
*.vspx

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*

# NCrunch
*.ncrunch*
.*crunch*.local.xml

# Installshield output folder 
[Ee]xpress

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/html2
DocProject/Help/html

# Click-Once directory
publish

# Publish Web Output
*.Publish.xml

# NuGet Packages Directory
packages

# Windows Azure Build Output
csx
*.build.csdef

# Windows Store app package directory
AppPackages/

# Others
[Bb]in
[Oo]bj
sql
TestResults
[Tt]est[Rr]esult*
*.Cache
ClientBin
[Ss]tyle[Cc]op.*
~$*
*.dbmdl
Generated_Code #added for RIA/Silverlight projects

# Backup & report files from converting an old project file to a newer
# Visual Studio version. Backup files are not needed, because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML

# Windows-specific files
Thumbs.db
desktop.ini
# Mac-specific things (thanks to Michael Aaron Safyan)
.DS_Store

-- 编辑--

.nuget/ 目录下的相同文件 .config.targets 文件处理良好。我可以检查git ls-files --others -i --exclude-standard 给出的NuGet.exe 是否被忽略,但我不知道是哪个规则造成的。

【问题讨论】:

检查哪些文件夹保存了exe,这里你有Bin/bin/等等忽略。 @LoïcFaure-Lacroix // .nuget/ 文件夹中的相同文件(.config 和 .targets)得到很好的处理。 无论如何检查.git/info/exclude中是否有东西。 @LoïcFaure-Lacroix // 感谢您的快速回复。但那里什么都没有(只有评论的话)。嗯.... 【参考方案1】:

首先,您可以使用git check-ignore 检查文件是否在您的仓库中被本地忽略:

git check-ignore -v -- yourFile

其次,您可以强制添加该文件(绕过任何忽略规则):

git add -f yourFile

【讨论】:

谢谢。我做了你回答的事情,但我想知道是什么原因导致了 .exe 文件的无知。无论是我的.gitignore 还是 git 中的某个设置。 @Youngjae 这就是git check-ignore -- yourFile.exe 应该告诉你的。 @Youngjae 尝试 git check-ignore -v -- yourExe.exe: 应该显示 .gitignore 文件和该文件中导致您的 exe 被忽略的行。 哇!感谢您。 -v 很重要!它给了我C:\User\Me\Documents\gitignore_global.txt : *.exe。绝对是我能理解的。 @RobG 如果您尝试添加myfile.exe(您已成功从.gitignore 中排除),那么该命令应该是git add -f myfile.exe【参考方案2】:

我刚开始将!NuGet.exe 放在.gitignore 文件中,非常适合我

【讨论】:

prob 不需要(截至 2021 年),因为 gitignore_global.txt 由 Git 安装程序在用户的文档文件夹中创建,应该已经有一个规则可以忽略 *.exe【参考方案3】:

我使用 Windows UI 在 Windows 中使用 TortoiseGit,导航到文件夹,右键单击并直接添加 .exe 文件。这些添加的文件显示在 SourceTree 中,我从那里提交了它们。

【讨论】:

以上是关于git不识别exe文件的主要内容,如果未能解决你的问题,请参考以下文章

git无法识别新增的文件

mtk掌讯9216黑砖且电脑识别不出

sftp命令不被识别

[ruby.exe尝试登录并使用heroku时无法识别

Mac下使用Sourcetree无法识别文件夹

在Inno Setup中[Run]程序无法识别[不可用]环境变量