1.git reset

有时候,进行了错误的提交,但是还没有push到远程分支,想要撤销本次提交,可以使用git reset –-soft/hard命令。

git reset –-soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可;
git reset -–hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉;

git reset 分为三种:

软 --soft,中 ---mixed,硬 --hard 对应着三种回滚的程度,程度越硬,回滚的越“狠”

1. --soft 已 add,但尚未 commit

2. --mixed(git reset 的默认设定,可以省略不写),文件会回退到未 add(未暂存)的状态

3. --hard 硬核,彻底,会彻底返回到回退前的版本状态,本地的源码也会变为上一个版本的内容

 

2.git push

把本地仓库代码推送到远程仓库,

git push :会检测本地仓库历史版本是否和远程仓库一致,不一致会产生冲突。(需解决冲突)

git push -f :强制把本地仓库代码更新到远程仓库,并覆盖。

 

3.git fetch / git pull

git fetch是将远程主机的最新内容拉到本地仓库,用户在检查了以后决定是否合并到工作本机分支中。

git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。

 

未完待续。。。

Logo

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

更多推荐