我正在与Git挣扎,我似乎无法添加我的文件.我跑来ls显示文件在当前目录中,然后运行git add .然后git status显示"没有提交".
JJ-Computer:first_app JJ$ git init
Reinitialized existing Git repository in /Users/JJ/rails_projects/first_app/.git/
JJ-Computer:first_app JJ$ ls
Diary.txt README.rdoc config.ru log tmp
Gemfile Rakefile db public vendor
Gemfile.lock app doc script
README config lib test
JJ-Computer:first_app JJ$ git add .
JJ-Computer:first_app Jenn$ git status
# On branch master
nothing to commit (working directory clean)
JJ-Computer:first_app JJ$
Run Code Online (Sandbox Code Playgroud)
quu*_*x00 89
你的命令看起来是正确的(我已经多次这样做了).
第一次尝试
git add --all
Run Code Online (Sandbox Code Playgroud)
然后试试git status.我不认为这会解决它,但值得尝试下一步.
接下来尝试查看你的.gitignore文件,如果你有一个(在你做的顶级git init).
cat .gitignore
Run Code Online (Sandbox Code Playgroud)
删除那些导致您的文件被忽略的列表.例如,是否有一个条目*?
接下来尝试:
git add --force
Run Code Online (Sandbox Code Playgroud)
然后试试git status.
如果没有这些工作,我注意到你的输出git init说"重新初始化"而不是"初始化",所以有些东西可能搞砸了.如果你刚刚初始化它并且不介意丢失历史记录,那么重新开始删除.git目录:
rm -rf .git
Run Code Online (Sandbox Code Playgroud)
然后重新执行上面的相同命令.如果这不起作用,则需要有关您的设置的更多信息.例如,您可能有一个全局.gitignore文件:~/.gitignore_global需要编辑(如果不需要,则删除).
小智 48
由于我多次经历过类似的问题,我只想补充一点,你应该仔细检查你是否正在尝试添加并且当前位于项目的根文件夹中.
Wto*_*wer 10
如果其他人碰到这个,git没有添加目录的另一个原因是该目录中可能有一个.git目录.
在这种情况下,git希望您将其视为子模块.否则,只需删除它.git(在目录中,而不是根目录)并重试.
方便的命令:
find . -name '.git' -type d
Run Code Online (Sandbox Code Playgroud)