git相关

1.将 'dev' 变基到 'origin/master

git rebase 是一个本地操作,它只会修改你当前所在分支的提交历史,而不会直接影响远程仓库或任何其他分支。

  1. 保持提交历史的线性和整洁: 这是 git rebase 最主要的目的。 想象一下 dev 分支是从 master 分支分叉出来的,并且在 dev 分支上进行了一些开发。 在此期间,master 分支可能也在不断更新。 如果你使用 git mergemaster 分支合并到 dev 分支,那么 dev 分支的提交历史会包含一个合并提交,这会使提交历史看起来像一个分支树。 使用 git rebase 可以避免这种情况,它会将 dev 分支的提交"移动"到 master 分支的顶端,使 dev 分支的提交历史看起来像是直接在 master 分支上进行开发一样,从而保持提交历史的线性。

  2. 简化 dev 分支的提交历史: 通过将 dev 分支变基到 origin/master,你可以将 dev 分支上的所有提交都放在 origin/master 分支的最新提交之后。 这可以使 dev 分支的提交历史更加清晰,更容易理解。

  3. 示例:

    假设 origin/master 分支的提交历史如下:

    复制代码
    A -> B -> C

    dev 分支的提交历史如下:

    复制代码
    A -> D -> E

    如果你执行 git rebase origin/master 命令,那么 dev 分支的提交历史会变成:

    复制代码
    A -> B -> C -> D' -> E'

    其中 D'E'DE 的副本,但它们的提交 ID 已经发生了改变。

  4. 使 master 分支包含 dev 分支的更改

  5. 确保你在 dev 分支上,并且已经成功地将 dev 分支变基到 origin/master

    复制代码
    git checkout dev
    git rebase origin/master

    如果在变基过程中出现冲突,请解决冲突并使用 git rebase --continue 命令继续变基。

  6. 切换到 master 分支:

    复制代码
    git checkout master
  7. dev 分支合并到 master 分支:

    复制代码
    git merge dev

    这会将 dev 分支上的所有更改合并到 master 分支。 如果出现冲突,请解决冲突。

  8. 将本地 master 分支推送到远程 origin/master 分支:

    复制代码
    git push origin master

    这将把你的本地 master 分支的更改推送到远程仓库,使远程 master 分支也包含 dev 分支的更改。

  • 变基 (rebase): git rebase origin/master 只是将 dev 分支的起点"移动"到 origin/master 的最新提交之后,使得 dev 分支的提交历史看起来像是直接在 origin/master 分支上进行开发一样。 它并没有修改 master 分支本身。
  • 合并 (merge): git merge dev 才是将 dev 分支的更改合并到 master 分支的步骤。 它会在 master 分支上创建一个新的合并提交,将 dev 分支的更改包含进来。
  • 推送 (push): git push origin master 是将你的本地 master 分支的更改推送到远程仓库的步骤。 只有执行了这个步骤,远程 master 分支才会发生变化。
相关推荐
一颗小行星!2 小时前
快速理解 Git submodule
git
A-Jie-Y4 小时前
Git基础-核心概念与常用命令
git
夜珀5 小时前
Git基础修炼手册:在AtomGit上玩转版本控制
git
golang学习记5 小时前
Zed IDE官宣新招:Git Graph 正式支持!
ide·git
要记得喝水5 小时前
适用于 Git Bash 的脚本,批量提交和推送多个仓库的修改
git·elasticsearch·bash
AI_Claude_code5 小时前
专栏导论:开源项目贡献的价值与Git工作流全景图
git·开源
never forget shyang5 小时前
CCS20.2.0使用教程
c语言·git·单片机
lifewange15 小时前
常用的Git命令有哪些?
git
无限进步_15 小时前
【C++】电话号码的字母组合:从有限处理到通用解法
开发语言·c++·ide·windows·git·github·visual studio
C++ 老炮儿的技术栈16 小时前
GCC编译时无法向/tmp 目录写入临时汇编文件,因为设备空间不足,解决
linux·运维·开发语言·汇编·c++·git·qt