1. 程式人生 > >Git之修改檔案不能直接成功提交

Git之修改檔案不能直接成功提交

在工作區修改檔案後,能直接提交成功嗎?答案不能,如何驗證呢?

1. 未修改檔案內容前檢視提交日誌

  • $ git log
  • $ git log --stat



2.檔案修改,並進行差異比對

1)新增內容到檔案中  $ echo "Nice to meet you." >>welcome.txt
2)比較修改後檔案與版本庫中的檔案差異 $ git diff,執行後結果顯示分析

  • $ git diff     命令
  • diff --git a/welcome.txt b/welcome.txt  表示結果為git格式的diff
  • index 18832d3..fd3c069 100644     表示兩個版本的git雜湊值;
    index區域的18832d3物件,與工作目錄區域的fd3c069物件進行比較;最後的六位數字是物件的模式(普通檔案,644許可權)
  • --- a/welcome.txt   
  • +++ b/welcome.txt     表示進行比較的兩個檔案:"---"表示變動前的版本,"+++"表示變動後的版本
  • @@ -1 +1,2 @@    與官方的合併格式diff相同
  •  Hello.         兩檔案均有"Hello."字串
  • +Nice to meet you.  變動後的版本有"+Nice to meet you."字串
  • warning: LF will be replaced by CRLF in welcome.txt.
  • The file will have its original line endings in your working directory.   LF是linux下的換行符,而CRLF是enter + 換行,此資訊不用在意,據說如下設定就Okay了:git config core.autocrlf false

3. 檔案提交

提交檔案 $ git commit -m "Append a nice line."
 -m 引數後面跟字串:告訴Git本次修改的說明資訊。在每次提交的時候註明說明資訊。(說明資訊為:Append a nice line.)

4. 到底有木有成功提交呢?

1)精簡輸出檢視提交日誌 $ git log --pretty=oneline
2)執行差異比較$ git diff可看到與提交之前相同,說明並未提交成功
3)執行$ git status檢視檔案狀態,可看到檔案處於修改狀態,其輸出與 $ git commit基本一致
   引數 -s:顯示精簡格式的狀態輸出



5. 結果顯然,並未提交成功....