源码管理六:撤销修改

来源:互联网 发布:淘宝农产品生产许可证 编辑:程序博客网 时间:2024/05/22 13:04

在Git中想要撤销修改可以使用命令:git checkout -- file可以丢弃工作区的修改。

对工作区的修改分为以下两种情况:

第一,修改了文件,尚未 git add ,即修改后尚未放到:暂存区。此时直接丢弃工作区的状态,可以恢复到之前跟工作区一样的状态

zhanggeng:git_learning (master *)$git statusOn branch masterChanges 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_learninggit.txtno changes added to commit (use "git add" and/or "git commit -a")zhanggeng:git_learning (master *)$

第二,修改了文件,已经 git add , 但尚未 git commit 。即:修改添加到了暂存区时,但未推送到版本库。想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

zhanggeng:git_learning (master *)$git add readme_learninggit.txtzhanggeng:git_learning (master +)$zhanggeng:git_learning (master +)$zhanggeng:git_learning (master +)$git statusOn branch masterChanges to be committed:  (use "git reset HEAD <file>..." to unstage)modified:   readme_learninggit.txt

即,使用如下命令:

a:

zhanggeng:git_learning (master +)$git reset HEAD readme_learninggit.txtUnstaged changes after reset:Mreadme_learninggit.txt


b:

zhanggeng:git_learning (master *)$git checkout -- readme_learninggit.txtzhanggeng:git_learning (master)$zhanggeng:git_learning (master)$zhanggeng:git_learning (master)$zhanggeng:git_learning (master)$git statusOn branch masternothing to commit, working directory cleanzhanggeng:git_learning (master)$vim readme_learninggit.txt





0 0
原创粉丝点击