如果在修改時發現修改錯誤,而要放棄本地修改時:
一,未使用 git add 緩存代碼時:
可以使用 git checkout -- filepathname (比如: git checkout -- readme.md ,不要忘記中間的 “--” ,不寫就成了檢出分支了!!)。
放棄所有的文件修改可以使用 git checkout . 命令。
此命令用來放棄掉所有還沒有加入到緩存區(就是 git add 命令)的修改:內容修改與整個文件刪除。
但是此命令不會刪除掉剛新建的文件。因為剛新建的文件還沒已有加入到 git 的管理系統中。所以對於git是未知的。自己手動刪除就好了。
或者使用下面的命令(git clean命令只適用於當前文件夾,記得切換文件夾):
# 刪除 untracked files
git clean -f
# 連 untracked 的目錄也一起刪掉
git clean -df
二,已經使用了 git add 緩存了代碼:
可以使用 git reset HEAD filepathname (比如: git reset HEAD readme.md)來放棄指定文件的緩存,放棄所有的緩存可以使用 git reset HEAD . 命令。
此命令用來清除 git 對於文件修改的緩存。相當於撤銷 git add 命令所在的工作。在使用本命令后,本地的修改並不會消失,而是回到了如(一)所示的狀態。繼續用(一)中的操作,就可以放棄本地的修改。
三,已經用 git commit 提交了代碼:
可以使用 git reset --hard HEAD^ 來回退到上一次commit的狀態。此命令可以用來回退到任意版本:git reset --hard commitid
你可以使用 git log 命令來查看git的提交歷史。
git log命令總結
• git log --all 查看所有分支的歷史
• git log --all --graph 查看圖形化的 log 地址
• git log --oneline 查看單行的簡潔歷史。
• git log --oneline -n4 查看最近的四條簡潔歷史。
• git log --oneline --all -n4 --graph 查看所有分支最近 4 條單行的圖形化歷史。
• git help --web log 跳轉到git log 的幫助文檔網頁
四,git提交命令
git add -u:將文件的修改、文件的刪除,添加到暫存區。
將工作空間被修改和被刪除的文件添加到暫存區(不包含沒有納入Git管理的新增文件)
git add .:將文件的修改,文件的新建,添加到暫存區。
git add -A:將文件的修改,文件的刪除,文件的新建,添加到暫存區。
工作中一般是用到 git add . 或者 git add -A,。今天學習更進一步解了 git add -u 以及他們之間的區別
git add -A相對於git add -u命令的優點 : 可以提交所有被刪除、被替換、被修改和新增的文件到數據暫存區,而git add -u 只能操作跟蹤過的文件
git add -A 等同於git add -all
總結:
· git add -A 提交所有變化
· git add -u 提交被修改(modified)和被刪除(deleted)文件,不包括新文件(new)
· git add . 提交新文件(new)和被修改(modified)文件,不包括被刪除(deleted)文件
修改重命名文件:
git mv files Files 只需要一個操作
————————————————
版權聲明:本文為CSDN博主「白馬不是馬」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/kuodannie1668/article/details/91383496