github 使用“git commit -m"命令時候出現的一個小問題


git commit -m 使用問題

今天提交文件到github,步驟是:

  1. git add abc.py (abc.py是我當前隨意寫的一個文件名)
  2. git commit -m 'add codes for abc'
  3. git push origin

在第二步是,出現錯誤,錯誤如下:

D:\tensorflow>git commit -m ' add codes for abc'
error: pathspec 'add' did not match any file(s) known to git.
error: pathspec 'codes' did not match any file(s) known to git.
error: pathspec 'for' did not match any file(s) known to git.
error: pathspec 'abc'' did not match any file(s) known to git.

語法上沒有問題,總是提交不了,最后發現,在Linux系統中,commit信息使用單引號''包括,我使用的windows系統,信息應該是雙引號""包括,即第二步命令正確格式是git commit -m "add condes for abc"

還有一些別的問題

在分析上面問題的時候,發現了幾個有用的命令:

  • git commit --amend

    • 此命令將使用當前的暫存區域快照提交。如果剛才提交完沒有作任何改動,直接運行此命令的話,相當於有機會重新編輯提交說明,但將要提交的文件快照和 之前的> 一樣。啟動文本編輯器后,會看到上次提交時的說明,編輯它確認沒問題后保存退出,就會使用新的提交說明覆蓋剛才失誤的提交
    • 如果剛才提交時忘了暫存某些修改,可以先補上暫存操作,然后再運行 --amend 提交步驟是:
      • $ git commit -m 'initial commit'
      • $ git add forgotten_file
      • $ git commit --amend
  • git reset

    • 文件從暫存區回退到工作去,就是回退git add 命令的執行,區別於git commit --amend,該命令更傾向於取消上一次的暫存區提交,git commit --amend更傾向於修改提交說明
    1. git reset HEAD filename
      • 回退指定名稱的文件,將文件從暫存區回退到工作區  //也可以使用 git reset filename
    2. git reset -q
      • 不會重置引用,更不會改變工作區,而是用指定提交狀態( )下的文件( )替換掉暫存區中的文件。例如命令git reset HEAD 相當於取消之前執行的git add 命令時改變的暫存區。
        更詳細介紹請移步: https://www.cnblogs.com/craftor/archive/2012/11/04/2754140.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM