git 四个区划分及修改撤销

2017/12/14 git

来源: Python开发者

Git四个区:

工作区…暂存区…本地仓库…远程仓库 对应平时操作,可以理解为:
修改一个文件…add…commit…push

Git五个状态

未修改

最初未修改的状态,称作origin,也就是每次Push都会用到的参数。

修改未暂存

git diff:直接查看工作区变动,可以查到结果 git reset --hard: 恢复

暂存未提交

git diff无法发现差异,只能git diff --cache来查看。
git reset可以由暂存区返回工作区,然后git reset --hard返回未修改

提交未推送

推送后,master的状态已经发生变化,git diff master origin/master命令才能找到同origin状态的差异,其中origin/master就是指远程仓库。
同理,撤销的方法为 git reset --hard

已推送

推送后,所有修改已经记录保存至本地和远程,不会再有差异。 而撤销的方法,是找回上一次(或者特定一次)保存的状态。具体命令如下

git reset --hard HEAD^  # 其中^ 表示前一次记录
git push -f  # 强制推送至远程

总结:

五种状态四类操作是git的基础,有了git reset –hard,从此再也不用担心独立项目提交错误了~

Search

    Table of Contents