没有.git文件夹,但git状态仍然返回

时间:2017-03-07 11:37:41

标签: git version-control

我使用CodeIgniter创建应用。项目中没有任何.git文件夹,但项目已初始化,因为git status返回此信息:

On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   ../../../Vagrantfile

no changes added to commit (use "git add" and/or "git commit -a")

这怎么可能?任何地方都没有.git文件夹。这是ls -la返回的内容:

total 124
drwxrwxr-x  7 my_username my_username  4096 Mar  7 11:18 .
drwxrwxr-x  8 my_username my_username  4096 Mar  7 11:25 ..
drwx------ 14 my_username my_username  4096 Mar  7 10:04 application
drwxrwxr-x  6 my_username my_username  4096 Mar  7 10:36 assets
-rw-rw-r--  1 my_username my_username   557 Jan  9 14:32 composer.json
-rw-rw-r--  1 my_username my_username  6504 Jan  9 14:32 contributing.md
-rw-rw-r--  1 my_username my_username   302 Jan  9 14:32 .editorconfig
-rw-rw-r--  1 my_username my_username   365 Mar  7 11:18 .gitignore
drwxrwxr-x  2 my_username my_username  4096 Mar  7 11:28 .idea
-rwxr-xr-x  1 my_username my_username 10253 Jan  9 14:32 index.php
-rw-rw-r--  1 my_username my_username  1114 Jan  9 14:32 license.txt
-rw-rw-r--  1 my_username my_username  2353 Jan  9 14:32 readme.rst
drwx------  8 my_username my_username  4096 Mar  6 15:07 system
drwx------  8 my_username my_username  4096 Mar  6 15:07 system
drwx------ 14 my_username my_username  4096 Mar  6 15:07 user_guide

运行Ubuntu 16.04,如果这有任何区别。

我在某个地方显然犯了一个错误,但我没有足够的经验使用git或CodeIgniter来弄清楚什么是错误。提前谢谢。

2 个答案:

答案 0 :(得分:2)

考虑到git跟踪文件夹及其所有子文件夹中的文件 - 以及Vagrantfile(已修改)位于三个文件夹中,很可能你的.git文件夹位于三个文件夹中。

您可以通过询问git项目的根文件夹在哪里来检查:

git rev-parse --show-toplevel

答案 1 :(得分:0)

这个解决方案并不理想,更多的是解决方法。

其他用户建议我仔细看看Git是如何工作的。如果您遇到与我相同的问题,那么您最好也阅读Git。

解决方案(解决方法)

  • 在当前路径之外创建一个新目录。
    • 如果您在~/dev/projects/this_project中遇到问题,请在~/Documents/projects/this_project中创建新目录。
  • 将问题目录(在我的情况下为~/dev/projects/this_project)中的所有内容复制到新目录(在我的情况下为~/Documents/projects/this_project)。
  • 在Github / Gitlab / Bitbucket中创建一个新的存储库/无论你使用什么
  • 将现有项目添加到您的Git存储库。
    • git init
    • git add .
    • git commit -m "Moved from problem repository."
    • git remote add origin remote https://github.com/username/your_project.git
    • git remote -v
    • git push origin master
  • 删除问题目录(rm -rf ~/dev/projects/this_project
  • 将新目录移至问题目录的位置(mv ~/Documents/projects/this_project ~/dev/projects/this_project
  • 完成。

就像我说这是一个适合我的工作,而不是解决方案。祝你好运。