我有一些很奇怪的东西。
当我使用git push --set-upstream git@gitlab.example.com:namespace/nonexistent-project.git master
生成一个新的存储库时,发现其中存在一个文件夹,该文件夹是我两天前上传的。
然后,我使用git ls-tree -r master --name-only
列出了分支主目录下当前正在跟踪的所有文件。它们正是我的新仓库中的东西。
但是,如果我直接在网站上创建一个新项目,然后将其克隆到本地并推送新修改,则根本不会发生此麻烦。
那是什么原因?
谢谢!
答案 0 :(得分:1)
这里的问题是您正在为新项目重用相同的存储库。如果需要新的存储库,则应保留所有现有的存储库,然后运行git init PROJECT
,其中PROJECT
是要处理的项目的目录。然后,您可以切换到该目录并处理您的项目。在这个新项目中,您可以运行上面运行的git push
命令,一切正常。
git push --set-upstream REMOTE master
更新了现有存储库的master
分支,以自动从新的远程存储库获取并推送到新的远程存储库。但是,这不会改变旧项目中的现有代码在本地存储库中的事实,因为您正在为代码重复使用相同的 local 存储库。