如何合并两个不同存储库中的分支?

用户名

在此处输入图片说明

我是git的新手,我想知道如何Staging / Support中将Sample Sample 2的Master分支合并UAT分支我知道可以合并特定存储库中的不同分支,但是不确定合并如何跨存储库工作。

我真正想做的是,在完成Sample Project 2之后,我想将其移至UAT分支进行测试等,最后移至Production分支进行发布。

在此先感谢您的帮助

卢卡什

我建议您创建暂存/支持存储库的本地克隆。然后,您将项目存储库添加为其他远程存储库,这使您可以在本地存储库中与它们进行交互。在本地进行合并,然后将结果推送到暂存库。

可以使用以下步骤来实现。

初始化和第一次合并

$ git clone -o staging http://staging

这将克隆您的登台存储库。您将需要使用“登台/支持”存储库的正确URL替换“ http:// staging ”。您可能还需要提供一个克隆存储库的路径作为另一个参数。参数-o确保将远程存储库称为“暂存”,这有助于稍后将其与项目存储库区分开。

下一步是添加要合并的远程存储库(在本例中为“ Sample Project 2”)

$ git remote add project2 http://sampleproject2

同样,用存储库“ Sample Project 2”的URL替换“ http:// sampleproject2 ”。您也可以更改“ project2”(这是远程存储库的名称),以更好地适合您的项目。

完成之后,git branch -r将显示来自登台和project2的分支,如下所示:

$ git branch -r
staging/Production
staging/UAT
project2/Master
project2/QA
project2/DEV

下一步签出您要合并到的分支,如下所示:

$ git checkout -b staging_UAT --track staging/UAT

这将创建一个名为staging_UAT的新本地分支,该分支将跟踪登台存储库中的远程分支UAT。新分支将被立即检出。

现在,您已经从分期签出了UAT分支的副本。您可以合并来自project2的更改:

$ git merge project2/Master

现在,来自project2分支Master的所有更改都合并到当前分支(即staging_UAT)中。您可能想看看git log结果。如果适合您的期望,则可以将其推送到暂存存储库:

$ git push staging staging_UAT:UAT

这样做会将本地分支staging_UAT的当前状态推送到名为staging的远程存储库中的分支UAT。

您可以同等地处理其他项目,还可以添加诸如staging_Production之类的分支以将您的更改合并到Staging的Production分支中。

未来合并

您可以将同一克隆用于将来的合并,而无需一次又一次地进行所有克隆和分支创建。但是,在这种情况下,您需要更新有关远程分支机构的本地信息:

$ git checkout staging_UAT
$ git pull

首先,您需要更新staging_UAT以匹配Staging存储库中UAT的当前版本。这是通过“拉”更改来完成的。由于分支staging_UAT是使用“ --track staging / UAT”创建的,因此git知道从何处提取更改。如果暂存中的UAT从未以这种方式更改(意味着:正是使用此本地克隆从staging_UAT推送到暂存器),则不需要这样做。

如果在“登台”中更改了UAT并且您没有拉出,则在推入时会收到错误消息,说:

Updates were rejected because the tip of your current branch is behind its remote counterpart.

另一个更新会影响Project2存储库:

$ git fetch project2

此外,存储库project2的分支可能已更改。如您所见git fetch,用于获取这些更改。提取和拉取之间的区别在于,拉取还将更新分支的本地副本。由于没有project2分支的本地副本,因此获取是可行的方法。(其实git pull仅仅是一个快捷键git fetchgit merge)。

改编

如果您已经具有包含代码的存储库的本地副本,则也可以将其用于合并过程。您只需要确保不混淆本地开发和合并,也许您需要处理更多的远程存储库,因为您有更多的开发库。

本地分支staging_UAT也可以仅称为UAT,从而使推送变得更加简单(git push在这种情况下就足够了)。但是,这可能会造成混乱,因为在多个远程站点中都有使用该名称的分支。

或者,您可以更改设置“ push.default ”。请参阅文档,以了解这将如何影响您的推动。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在单个存储过程中合并两个不同的 SQL Server 2012 数据库表?

来自分类Dev

git合并或合并同一分支和相同存储库中的两个文件

来自分类Dev

在两个不同的存储库中管理Azure DEVOPS Git DEV和发布分支是个好主意吗?

来自分类Dev

如何在两个本地存储库之间合并

来自分类Dev

如何在两个本地存储库之间合并

来自分类Dev

Git在两个存储库中同步两个称为“生产”的分支

来自分类Dev

如何合并对两个分支的更改

来自分类Dev

如何在curses中合并两个不同的边界

来自分类Dev

如何合并两个不同的Makefile?

来自分类Dev

如何合并两个不同的Makefile?

来自分类Dev

两个分支都彼此落后。如何合并两个分支?

来自分类Dev

在两个单独的分支或存储库中管理项目后端和前端?

来自分类Dev

合并两个分支并将两个分支保留在分散的目录中

来自分类Dev

如何合并来自两个不同数据库的不同表?

来自分类Dev

如何合并来自两个不同数据库的不同表?

来自分类Dev

如何合并两个分支而不丢失任何文件?

来自分类Dev

在Git仓库中合并两个远程分支

来自分类Dev

在git中合并两个远程分支

来自分类Dev

如何在两个分支中合并拉取请求?

来自分类Dev

将两个git远程存储库配置到两个相应的本地分支

来自分类Dev

每天自动合并两个存储库

来自分类Dev

如何从2个不同的git分支中运行Rails应用程序的两个实例?

来自分类Dev

比较SQL Server中两个不同数据库中两个存储过程之间的代码

来自分类Dev

合并来自不同数据库的sqlite中的两个表

来自分类Dev

合并来自不同数据库的sqlite中的两个表

来自分类Dev

用于检查两个不同数据库的两个表中的匹配记录的存储过程PL / SQL

来自分类Dev

MS Access-如何将来自两个不同数据库的两个直通查询合并为一个合并结果?

来自分类Dev

Xcode合并两个分支Git

来自分类Dev

合并两个分支而不是主

Related 相关文章

  1. 1

    如何在单个存储过程中合并两个不同的 SQL Server 2012 数据库表?

  2. 2

    git合并或合并同一分支和相同存储库中的两个文件

  3. 3

    在两个不同的存储库中管理Azure DEVOPS Git DEV和发布分支是个好主意吗?

  4. 4

    如何在两个本地存储库之间合并

  5. 5

    如何在两个本地存储库之间合并

  6. 6

    Git在两个存储库中同步两个称为“生产”的分支

  7. 7

    如何合并对两个分支的更改

  8. 8

    如何在curses中合并两个不同的边界

  9. 9

    如何合并两个不同的Makefile?

  10. 10

    如何合并两个不同的Makefile?

  11. 11

    两个分支都彼此落后。如何合并两个分支?

  12. 12

    在两个单独的分支或存储库中管理项目后端和前端?

  13. 13

    合并两个分支并将两个分支保留在分散的目录中

  14. 14

    如何合并来自两个不同数据库的不同表?

  15. 15

    如何合并来自两个不同数据库的不同表?

  16. 16

    如何合并两个分支而不丢失任何文件?

  17. 17

    在Git仓库中合并两个远程分支

  18. 18

    在git中合并两个远程分支

  19. 19

    如何在两个分支中合并拉取请求?

  20. 20

    将两个git远程存储库配置到两个相应的本地分支

  21. 21

    每天自动合并两个存储库

  22. 22

    如何从2个不同的git分支中运行Rails应用程序的两个实例?

  23. 23

    比较SQL Server中两个不同数据库中两个存储过程之间的代码

  24. 24

    合并来自不同数据库的sqlite中的两个表

  25. 25

    合并来自不同数据库的sqlite中的两个表

  26. 26

    用于检查两个不同数据库的两个表中的匹配记录的存储过程PL / SQL

  27. 27

    MS Access-如何将来自两个不同数据库的两个直通查询合并为一个合并结果?

  28. 28

    Xcode合并两个分支Git

  29. 29

    合并两个分支而不是主

热门标签

归档