久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

【Git第九節】撤銷修改

歡迎大家來到自學Python編程教室,上一講我們學習了如何移除文件,這一講我們來學習如何撤銷修改,你準備好了嗎?

前面說了,如果你手滑刪掉了一個文件,可以用 Git 幫你找回來。同樣,如果一個文件被你改來改去面目全非,直到程序無法運行,你累感不愛想要回到開始的狀態,Git 也可以幫你輕松搞定。

我們現在直接把 readme.txt 從文件夾中刪除。看一下狀態:

# On branch master

# Changes not staged for commit:

# (use "git add/rm <file>..." to update what will be committed)

# (use "git checkout -- <file>..." to discard changes in working directory)

#

# deleted: readme.txt

#

o changes added to commit (use "git add" and/or "git commit -a")

注意其中有一句提示:

use "git checkout -- <file>..." to discard changes in working directory

用 git checkout -- <file> 命令舍棄工作目錄中的修改。注意 checkout 后面的 --,沒有這兩個減號就是另一條命令了,后面關于分支的時候會去說它。

那我們就來試一下:

git checkout -- readme.txt

看看文件夾中,消失的文件是不是又回來了?再看下 git status,也回到了沒有產生修改的狀態。

那么,如果一個修改后的文件已經被暫存了,要如何恢復到之前的狀態呢?

我們來改一下 readme.txt,在文件中加點字,然后 git add 添加到暫存區。查看狀態:

# On branch master

# Changes to be committed:

# (use "git reset HEAD <file>..." to unstage)

#

# modified: readme.txt

#

這里 Git 又給出提示了:

use "git reset HEAD <file>..." to unstage

用 git reset HEAD <file> 命令撤銷暫存。

git reset HEAD readme.txt

這條命令并不會更改 readme.txt 里的內容,修改仍然存在,但是文件的狀態變回到已修改。

# On branch master

# 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: readme.txt

#

o changes added to commit (use "git add" and/or "git commit -a")

你可以修改了重新暫存,也可以用前面的方法把文件恢復。

再進一步,如果文件修改已經被 commit 了,要如何撤銷?

一種情況是,你提交了之后發現還漏了幾個地方沒有改,或者提交的文件中有些小錯誤,想要撤銷回來重新提交。那么你可以用 git commit --amend 來重新提交。

做完修改、暫存之后,運行

git commit --amend

會開啟文本編輯器讓你修改上次的提交注釋,或者通過 -m 參數直接指定。保存退出后,這一次的改動就會被直接加上上一次的提交里,不會產生新的 commit。

你也許覺得,直接再提交一次不就好了。但難免有時候不想因為筆誤產生過多提交。再說,程序員調試代碼的時候總會有些惡趣味,諸如 print 'believe spring brother' 之類的調試語句,如果最后忘了刪干凈就提交了,肯定不想再做一次提交去刪除。還是直接神不知鬼不覺地清理掉比較好。

還有另一種情況,就是整個上一次的提交你都不想要了,希望回退到上一個提交狀態。這時候就需要用到版本回退了。

恭喜您在Python自學的道路上又堅持了一天,今天跟大家聊的如何撤銷修改文件的相關內容,你都學會了嗎?

好啦,今天的分享到這里就結束了,希望大家持續關注馬哥教育官網,每天都會有大量優質內容與大家分享!

聲明:文章來源于網絡,侵刪!

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 拉萨市| 萝北县| 阿鲁科尔沁旗| 远安县| 韩城市| 沂源县| 泾源县| 西藏| 许昌市| 华亭县| 海安县| 兴宁市| 江孜县| 海林市| 浦城县| 宁城县| 中宁县| 醴陵市| 乳山市| 河北区| 汉川市| 北宁市| 冷水江市| 尼勒克县| 辽阳市| 马鞍山市| 新宁县| 阳新县| 桂林市| 监利县| 进贤县| 安图县| 姜堰市| 灵璧县| 花莲县| 织金县| 江源县| 漯河市| 潜江市| 宜黄县| 海口市|