在使用git命令时,我运行以下命令:
git checkout-index --prefix=./test
认为它会将文件签出到test
目录中。 (运行之后,很明显它没有。)但是,当我运行git status
时,我知道有以下内容:
Untracked files:
(use "git add <file>..." to include in what will be committed)
./
nothing added to commit but untracked files present (use "git add" to track)
如何清除此文件?当我执行ls -la
时(显示正常.
和..
除外),它不会显示。
答案 0 :(得分:1)
我不认为checkout-index
命令对您当前的情况负责。首先,它的行为与你想象的完全一样。我们假设我们从hello-world存储库的克隆开始,然后运行:
$ git checkout-index --prefix=./test README.md
这将检出文件README.md
,并在其前面加./test
,因此我们得到一个名为testREADME.md
的文件:
$ ls *README*
README.md testREADME.md
如果我们想要在子目录中,我们需要记住尾随/
:
$ git checkout-index --prefix=./test/ README.md
$ ls test
README.md
这些操作都不会破坏存储库状态。此时运行git status
会产生:
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
test/
testREADME.md
......这几乎是我们所期望的。我怀疑除checkout-index
之外还运行了一些导致当前情况的其他命令。