.

场景

有的时候提交的时候太急了,把不该提交的文件也 add 上去了该怎么办呢?
提交的时候 备注信息打错了,想撤销该怎么办呢?

如果需要撤销 git add 呢?

  • 取消已经暂存的文件, 也就是撤销git add,在git add . 之后想取消,只想提交一个文件,而不是全部文件的时候

输入 :

git reset Head .   // 表示撤回所有在暂存区的所有文件

如果需要撤销 git commit 呢?

  • 修改最后一次提交,也就是撤销git commit,在 commit -m '备注内容' 之后想撤销 commit 提交。

输入:

git commit --amend

git commit --amend命令将使用当前的暂存区域快照提交。如果刚才提交完没有作任何改动,直接运行此命令的话,相当于有机会重新编辑提交说明,但将要提交的文件快照和之前的一样。)

如果刚才提交时忘了暂存某些修改,可以先补上暂存操作,然后再运行 --amend 提交:

$ git  commit -m 'initial commit'
$ git  add forgotten_file  //要提交的文件
$ git  commit --amend

上面的三条命令最终只是产生一个提交,第二个提交命令修正了第一个的提交内容

  • 取消对文件的修改,就是git status 命令执行后的第二个括号的内容
    (use "git checkout -- <file>..." to discard changes in working directory),也就是撤销对文件内容的修改
      $ git checkout -- file.name(文件名)

.
该文件已经恢复到修改前的版本。但是这条命令有些危险,所有对文件的修改都没有了。所以在用这条命令前,请务必确定真的不再需要保留刚才的修改。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐