2016-09-30 62 views
0

我有一个.NET解决方案,包含各种东西的约10个项目,MVC,libs和控制台应用程序。我们正在首次使用Git - BitBucket和SourceTree。在我的本地机器上正常工作,但是当我做一个克隆时,为了测试它是否正常工作,我得到了大量的Nuget错误,缺少引用以及更新软件包会获取关于已经存在的软件包的错误。一团糟。我的“解决方案”是删除整个软件包文件夹并重新安装哪些工作,有点,但不是一个适当的解决方案。所以我的问题是,对于Git来说一个新人,在Nuget方面并不是很出色,那么在提交过程中我可能会犯错。Git克隆导致很多nuget错误 - 怀疑我提交的太多了

我怀疑我没有正确排除文件 - Bitbucket上的项目在1GB处巨大。我认为.gitignore在默认情况下排除了密钥构建文件,但我有点不确定哪些文件是最佳实践忽略的,所以我可以看看.gitignore并查看实际推送到Bitbucket的内容。

缺少的参考文献,那里发生了什么?可以有与DLL复制本地问题?

任何帮助,将不胜感激。希望这个问题不是太模糊?在某些方面稍微高一点的水平承担我应该做的只是一个有用的具体技术点。

+1

在这里发布您的gitignore。你应该忽略包本身,只是提交依赖文件(我相信这是在.csproj文件?)。这个想法是克隆回购,并恢复依赖关系。另外,如果可以,发布目录结构 – Av4t4r

回答

0

这是有关节目前,我有我的.gitignore

# NuGet Packages 
*.nupkg 
# The packages folder can be ignored because of Package Restore 
**/packages/* 
# except build/, which is used as an MSBuild target. 
!**/packages/build/ 
# Uncomment if necessary however generally it will be regenerated when needed 
#!**/packages/repositories.config 

(我相信这.gitignore是由Visual Studio生成)

的重要组成部分,是忽略packages文件夹,但为每个项目提交packages.config文件。然后,您可以使用Visual Studio中的Restore Nuget packages菜单选项根据需要安装软件包。

如果您不小心犯了packages文件夹,然后清理当前的回购,你可以这样做:

git rm --cached packages/* 
git commit -m "Remove Nuget packages from repo" 

这时只要您添加了packages文件夹到.gitignore文件,你应该很好去。

+0

完美运行。谢谢! – user1102550