2013-05-14 79 views
0

我在這裏有一個有趣的發生。我已經開發了一段時間(在Windows上開發,文件被移動到Linux VM,提交來自VM)並創建了許多新文件。當我運行git status時,它會顯示new file:部分和modified:部分中的所有新文件。git Status在新的和修改部分中顯示文件

這裏是git status結果:出現在修改後的部分(除build.xml)出現在新的部分

# On branch 2.x-merge 
# Your branch is ahead of 'composer/2.x-merge' by 1 commit. 
# 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
#  new file: SP/ElasticSearch/ElasticSearch.php 
#  new file: SP/ElasticSearch/Filters/AndFilter.php 
#  new file: SP/ElasticSearch/Filters/Boolean.php 
#  new file: SP/ElasticSearch/Filters/OrFilter.php 
#  new file: SP/ElasticSearch/Queries/Boolean.php 
#  new file: SP/ElasticSearch/Queries/Filtered.php 
#  new file: SP/ElasticSearch/Queries/Match.php 
#  new file: SP/ElasticSearch/Queries/MatchAll.php 
#  new file: SP/ElasticSearch/Queries/Term.php 
#  new file: SP/ElasticSearch/esFilter.php 
#  new file: SP/ElasticSearch/esInserter.php 
#  new file: SP/ElasticSearch/esQuery.php 
#  new file: SP/ElasticSearch/esQueryBuilder.php 
#  new file: tests/SP/ElasticSearch/ESTest.php 
#  new file: tests/SP/ElasticSearch/esFilterTest.php 
#  new file: tests/SP/ElasticSearch/esQueryTest.php 
# 
# 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: SP/ElasticSearch/ElasticSearch.php 
#  modified: SP/ElasticSearch/Filters/Boolean.php 
#  modified: SP/ElasticSearch/Filters/OrFilter.php 
#  modified: SP/ElasticSearch/Queries/Boolean.php 
#  modified: SP/ElasticSearch/esFilter.php 
#  modified: SP/ElasticSearch/esQuery.php 
#  modified: SP/ElasticSearch/esQueryBuilder.php 
#  modified: build.xml 
#  modified: tests/SP/ElasticSearch/ESTest.php 
#  modified: tests/SP/ElasticSearch/esQueryTest.php 
# 

如果你會發現,一切,這些都是新的文件,所以他們應該。

提交進展良好,我只是做了一個-am,沒有問題,我只是想知道是否有人知道爲什麼會發生這種情況,它的意思,或者它是如何發生的。

在此先感謝。

+0

自從你用git添加它們之後,你有沒有改變它們?你的行結束設置是什麼? –

回答

2

通知書上的兩個部分的標題:變更,必須致力於變化不是上演提交

當您使用git add some_file.txt文件的當前狀態(在這種情況下some_file.txt)正在上演被列入下一次的提交,使文件將出現在變更,必須致力於名單。如果在運行git commit之前對這些文件進行了進一步更改,除非再次運行git add,否則這些更改將不會進行,因此文件也將出現在列表中,但未對列表提交更改。

當你運行git commit,你通過了-a標誌(簡稱--all)自動階段已被修改或刪除的所有文件。這相當於在運行git commit之前對中的所有文件執行git add更改未進行提交列表。

+0

這就是它。這太錯誤了,這似乎是明顯的,合乎邏輯的和理想的行爲。完美的答案,現在一切都清晰可見。我學到了一些關於git = D的知識。 – hjc1710

0

運行git diff顯示未分級的更改和git diff --cached顯示分級更改。

您可能在不知不覺中更改了這些文件中的行尾。 Windows優先選擇2個字節的終止行(回車符和換行符)。 Unix更喜歡用1字節結束行(只是一個換行符)。

相關問題