2016-02-13 113 views
0

文件雖然有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

我不認爲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之外還運行了一些額外的命令。

+0

啊,這很尷尬。它看起來像我有這樣的輸出,因爲我在一個新創建的目錄中運行git status尚未簽入。我錯誤地將此與運行git checkout-index相關聯。 – Brendon