問題
比如:我在項目裡面添加了一個新的元件
gitTest.vue
,
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiQDOxEzX3xCZlhXam9VbsUmepNXZy9CXwJWZ3xCdh1mcvZ2Lc1zaHRGcWdUYuVzVa9GczoVdG1mWfVGc5RHLwIzX39GZhh2csATMflHLwEzX4xSZz91ZsAzMfRHLGZkRGZkRfJ3bs92YskmNhVTYykVNQJVMRhXVEF1X0hXZ0xiNx8VZ6l2cssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLzYDN1EjZhBTNwImY5MmZyYzX2MTM0UTM3EzLchDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
寫完之後,我就送出代碼:
git add .
git commit -m '送出git測試元件'
git reset 指令
菜鳥教程:git reset 指令
git reset 指令用于回退版本,可以指定退回某一次送出的版本。
git reset 指令文法格式如下:
git reset [--soft | --mixed | --hard] [HEAD]
- -mixed為預設,可以不用帶該參數,用于重置暫存區的檔案與上一次的送出(commit)保持一緻,工作區檔案内容保持不變。
- 不删除工作空間改動代碼,撤銷 commit,并且撤銷
操作git add .
-
和git reset --mixed HEAD^
效果是一樣的git reset HEAD^
- –soft參數用于回退到某個版本
- 不删除工作空間改動代碼,撤銷 commit,不撤銷
git add .
- –hard參數撤銷工作區中所有未送出的修改内容,将暫存區與工作區都回到上一次版本,并删除之前的所有資訊送出
- 删除工作空間改動代碼,撤銷 commit,撤銷
git add .
執行個體:
$ git reset HEAD^ # 回退所有内容到上一個版本
$ git reset HEAD^ hello.php # 回退 hello.php 檔案的版本到上一個版本
$ git reset 052e # 回退到指定版本
$ git reset --soft HEAD~3 # 回退上上上一個版本
$ git reset --hard HEAD~3 # 回退上上上一個版本
$ git reset --hard bae128 # 回退到某個版本回退點之前的所有資訊。
$ git reset --hard origin/master # 将本地的狀态回退到和遠端的一樣
注意:謹慎使用 –hard 參數,它會删除回退點之前的所有資訊。
HEAD 說明:
-
表示目前版本HEAD
-
上一個版本HEAD^
-
上上一個版本HEAD^^
-
上上上一個版本HEAD^^^
可以使用 ~數字表示
-
表示目前版本HEAD~0
-
上一個版本HEAD~1
-
上上一個版本HEAD~2
-
上上上一個版本HEAD~3
解決
執行完commit後,想撤回commit,怎麼辦?
通過上面的 git reset 指令學習,可以知道:使用下面的指令
# 回退上一個版本,然後需要删掉代碼
git
執行完我們發現已經回退到了送出前的狀态
可以輸入檢視日志指令:
git