为什么Git会添加父目录?

3
我最近第一次尝试使用Bitbucket。我加入了一个没有版本控制的项目,这让我很紧张,所以我说服了我的老板让我上传这个项目。我的问题是这样的:Bitbucket似乎不仅添加了我初始化git仓库的文件夹,而是添加了父目录和其中的所有文件。我的项目结构如下:
User/Documents/Work/CompanyName/Project
我在Project中运行git init,但当我推送到远程时,似乎也推送了CompanyName中的所有文件。我尝试删除仓库和本地文件夹并重新开始,但我总是遇到同样的问题。这是正常现象吗?有什么办法可以阻止它再次发生,而不是移动所有文件吗?
编辑:好吧,比我想象中还要奇怪的事情正在发生,因为我删除了现有的Project目录并创建了一个新的:
User/Documents/Work/Project
但是当我推送到Bitbucket时,它坚持认为project仍然在CompanyName/Project中,即使该目录不再存在。我认为我的git可能出了问题,我要尝试清理它。

任何一个父目录是 Git 仓库吗? - Dai
不,我的其他存储库都是自包含在它们自己的无关目录中的。我已经使用git status检查了父目录,没有一个是git存储库。 - lucky3
3个回答

0

如果您确定没有父文件夹有自己的.git/子文件夹,那么您可以再试一次:

cd User/Documents/Work/CompanyName/Project
git init .
git add .
git commit -m "Add all files"
git remote add origin https://bitbucket.org/<aUser>/<aRepo>
git push -u --force origin master

检查您的环境变量是否存在任何 GIT_xxx 变量。
(例如,GIT_DIR 可设置为 User/Documents/Work/CompanyName


0

所以我认为问题就在于,当我删除我的远程存储库后,我使用相同的名称创建了一个新的存储库,可能是文件还没有从 Bitbucket 的服务器上删除,或者 Bitbucket 尝试为我恢复它们。无论哪种情况,问题都是在我清除了 git 缓存文件并创建了一个不同名称的 Bitbucket 存储库之后解决的。


0

我也遇到了相同的问题。后来我发现“.git”文件夹在父文件夹中,而我原以为它应该在当前文件夹中。我只是将.git文件夹从父文件夹剪切并粘贴到子(当前)文件夹中,并且顺利地进行了添加、提交和推送。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接