在git

时间:2016-02-13 13:31:08

标签: git macos

在使用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时(显示正常...除外),它不会显示。

1 个答案:

答案 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之外还运行了一些导致当前情况的其他命令。