其他
linux之git高级命令
合并分支
我在dev分支来rebase master分支,那么我这个dev分支就是基于master分支的一个新的节点
> git checkout dev
> git rebase master
合并提交
合并这次与上次提交
> git rebase -i HEAD~2
解决远程仓库fast-forward
当我们提交代码时,可能别人已经提交过内容到远程仓库了,这时我们提交代码时就会提醒我们fast-forward,让我们先更新下代码再提交,我们可以用rebase很快的解决这个问题。
//先拉取最新代码进行rebase
> git pull --rebase origin master
// 然后再提交
> git push
本地分支与远程分支关联
将本地dev分支与远程master分支关联,这样可以在master分支中直接执行git pull进行拉取代码,不用再指定后面的分支
> git branch --set-upstream-to=origin/master dev
代码合并
// 切换到master分支
> git checkout master
// 融合dev分支的内容
> git merge dev
放弃本次提交的修改
c123是通过git log进行查看的 commit id
> git checkout c123
回到此分支的上一个提交
> git reset HEAD^
回到master分支的上一个提交
> git reset master^
撤销远程分支上的内容
如果想撤销远程分支上的内容需要使用git revert,它会新创建一个提交,而新创建的提交的状态正好等于你上一个版本的状态,假如我们现在的版本是c2,它上一个版本就是c1,那么执行完这个命令之后,就会新创建一个提交 为 c1’,它与c1的内容一致,我们将这它推送到远程端,别人更新之后就可以了
> git revert HEAD^
做个锚点
因为分支是很容易被改变,为了防止以后不能返回,所以可以打个tag,做个回滚记录点.
c123 为提交记录的id
> git tag MyTagName c123