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 分支才会发生变化。
相关推荐
GISer_Jing2 小时前
Git协作开发:feature分支、拉取最新并合并
大数据·git·elasticsearch
高山莫衣7 小时前
git rebase多次触发冲突
大数据·git·elasticsearch
码农藏经阁7 小时前
工作中常用的Git操作命令(一)
git
kobe_OKOK_8 小时前
【团队开发】git 操作流程
git·elasticsearch·团队开发
码农垦荒笔记8 小时前
Git 安装闭坑指南(仅 Windows 环境)
windows·git
CC码码18 小时前
管理你的多个 Git 密钥(多平台多账号)
git·gitlab·github
CC码码18 小时前
管理你的多个 Git 密钥(单平台多账号)
git·gitlab·github
大卫小东(Sheldon)18 小时前
GIM 1.5发布了! 支持Windows系统了
git·ai·rust
flying jiang18 小时前
将大仓库拆分为多个小仓库
git
李boyang10 天前
Git(四):远程操作
git