2017-07-24 210 views
0

我運行了命令「git reset」,但我的unstaged更改已放入文件夾中。我得到像下面這樣運行git狀態後:Git跟蹤未追蹤的文件,但未添加到提交

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: file1 
    modified: file2 
    modified: file3 
    modified: file4 
    modified: file5 

Untracked files: 
    (use "git add <file>..." to include in what will be committed) 

    folder1 
    folder2 
    folder3 
    folder4 

每個文件夾包含了我修改了多個文件,但均因某種原因歸納爲這些文件夾。

我需要將這些更改分離爲多個請求,因此「git commit -a」不會執行。

我看到的最好的解決方案是「git add -all」,再次複製「git status」和「git reset」,但這看起來很費力。

有沒有更好的解決方案?

回答

3

Git只跟蹤文件(不是文件夾/目錄)。

但是,出於優化目的,git status報告如果可能,使用縮寫格式使用未跟蹤的子目錄/文件夾內的文件。

要取消縮寫,請使用git status -uall(即-u + all,如在「顯示所有文件,而不是簡短列表」中所示)。您也可以寫-uno意思是顯示文件,或者只是-u意思是-uall反正。缺省值是-unormal,這是正常的縮寫版本。

您可以添加任何單獨的文件,如:

git add folder1/foo.txt 

,現在該文件被跟蹤,並且git status不再縮寫:它必須同時列出所有仍然未跟蹤文件folder1/之一,因爲跟蹤folder1/foo.txt

+0

感謝,爲我工作編輯:-uno沒有,但只是 - ü沒有 – user2605633

+0

@ user2605633:哎呀,布賴諾,它是'-uall'!將修復答案。 – torek