linux之git高级命令

举报
入门小站 发表于 2022/06/26 22:21:21 2022/06/26
【摘要】 合并分支我在dev分支来rebase master分支,那么我这个dev分支就是基于master分支的一个新的节点> git checkout dev> git rebase master 合并提交合并这次与上次提交> git rebase -i HEAD~2 解决远程仓库fast-forward当我们提交代码时,可能别人已经提交过内容到远程仓库了,这时我们提交代码时就会提醒我们fast-...

合并分支

我在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

原文链接:https://rumenz.com/rumenbiji/linux-git-advanced.html
微信公众号:入门小站

  • 回复【1001】获取 linux常用命令速查手册
  • 回复【10010】获取 阿里云ECS运维Linux系统诊断
  • 回复【10012】获取 Linux学习笔记【强悍总结值得一看】
  • 回复【10013】获取 shell简明教程

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。