我正在使用Windows的GitHub应用程序在我的本地和服务器之间传输我的代码。到目前为止我已经制作了两个ASP.net服务,但工作正常 - 但是我最新的c#服务的.exe和相关文件没有被GitHub应用程序选中,这意味着当我从服务器拉出服务器的.exe时不允许安装。 (从debug文件夹中,选择了install.log文件,但没有.exe和一些附加的.dll文件)
我已经查看了目录,并且没有git.ignore指示应用程序忽略它。 此外,当我对现有服务进行更改时,他们的.exe会更新,并被应用程序选中并允许进行转移。
为什么我的新服务的.exe和相关安装文件没有被选中?
我正在使用VS2008(不要评判我,这很舒服)。
感谢任何建议,谢谢。
答案 0 :(得分:0)
我会启动git shell:
Open the repo you're working on >> Tools and Options (Button) >> Open a shell here
尝试此操作以查看文件是否已添加到仓库:
git ls-files yourService.exe --error-unmatch
如果没有尝试弄清楚它是否忽略了一些如何:
git check-ignore -v -- yourService.exe
如果什么都没有,那就不会被忽视。如果你得到输出,它会被忽略。
首先,如果忽略强制,请手动添加:
git add -f yourService.exe
现在提交并将其推送到服务器。如果您从未手动使用过:
git commit yourService.exe "This is a commit message for one file only..."
(用于提交特定文件)
或者如果您要提交所有更改并添加文件,请使用:
git commit -a yourService.exe "This is a commit message for all changes and added files..."
如果它甚至没有被忽略,你可能会遇到服务器的合并问题,在这种情况下你必须使用:git push -f <remote> <branch>
强制推送到服务器(例如git push -f origin master
) Trev Norris在这里很好地解释了这一点:Force "git push" to overwrite remote files。
之后它应该被解决了,我有点停止使用Github for Windows因为这些忽略问题(可能是故意开发但我手动完成并使用www.github.com进行视觉效果)。
希望这会对你有所帮助。