使用git rebase, git reset 注意事项

git reset  (不写使用默认参数mixed)

  • --hard:重置位置的同时,直接将 working Tree工作目录index 暂存区repository 都重置成目标Reset节点的內容,所以效果看起来等同于清空暂存区和工作区。

  • --soft:重置位置的同时,保留working Tree工作目录index暂存区的内容,只让repository中的内容和 reset 目标节点保持一致,因此原节点和reset节点之间的【差异变更集】会放入index暂存区中(Staged files)。所以效果看起来就是工作目录的内容不变,暂存区原有的内容也不变,只是原节点和Reset节点之间的所有差异都会放到暂存区中。

  • --mixed(默认):重置位置的同时,只保留Working Tree工作目录的內容,但会将 Index暂存区Repository 中的內容更改和reset目标节点一致,因此原节点和Reset节点之间的【差异变更集】会放入Working Tree工作目录中。所以效果看起来就是原节点和Reset节点之间的所有差异都会放到工作目录中。

 

git rebase

一旦分支中的提交对象发布到公共仓库,就千万不要对该分支进行衍合操作。

总结:不管当前分支是否只有自己在使用,在rebase之后,需要强制推送到远端分支时,使用  git push --force-with-lease origin feature  参数来保证分支安全

 

git checkout [HEAD^, commitId]

移动HEAD指针到指定的提交版本。

  • HEAD是指当前的快照,这个命令主要配合reset--hard,--mixed--solf三个参数对对本次的修改进行处理
  • HEAD~1指回退一个快照,可以简写为HEAD~
  • HEAD~2指回退两个快照
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值