合并develop分支到master分支

22

我有一个本地仓库,其中包含两个分支masterdevelop

  • develop分支中,我有所有的Drupal 8核心代码。
  • 在我的master分支中,我有1个提交(初始提交)

在我的远程仓库中,我在develop分支中拥有所有的Drupal 8核心代码。如何将此代码合并到远程的master分支中?我该如何合并这些仓库?

更新:

当我执行git status时,我得到:

On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    griffioenrotterdam.sublime-project
    griffioenrotterdam.sublime-workspace
    sites/

nothing added to commit but untracked files present (use "git add" to track)

我需要做什么?

更新2:

当我执行git checkout develop时,我会得到:

error: The following untracked working tree files would be overwritten by checkout:
    sites/default/default.services.yml
    sites/default/default.settings.php
Please move or remove them before you can switch branches.
Aborting

我需要做什么?


你想在此之前保存/跟踪上述文件吗?还是你不关心它们? - ItayB
前两个我不在意,它们被我的.gitignore文件忽略了。但是sites/我不理解,因为在sites/文件夹后面有我想要在存储库中的文件?这里的sites/是什么意思?我再次更新我的问题... - meez
首先,两个上层文件不在你当前的.gitignore中,或者可能定义错误 - 否则它们不应该出现在“git status”中 - 这就是.gitignore的概念。 - ItayB
关于 .gitignore 文件。你是对的。我必须将它们重命名。但是目前我无法进入我的开发分支并编辑此文件? - meez
你可以切换分支,但在此之前,你必须决定如何处理未提交的代码。如果你想要丢弃它,请尝试在 'git checkout ..' 后添加 -f,但要小心!首先备份你的代码! - ItayB
显示剩余3条评论
4个回答

43

总结:您需要切换到开发分支,从远程仓库拉取代码,然后将其合并到主分支(本地),并将其推送回远程仓库(到主分支)

git checkout develop
git pull origin develop
git checkout master
git merge develop
git push origin master

我无法执行git checkout develop,因为我遇到了上述错误(更新问题2)。 - meez
我有一种必须澄清事情的感觉。基本上我想要的是:1) 当我的客户在远程查看时,他什么也看不到,因为它在我的分支develop上。如何将其合并到master分支中? 2) 在本地,我想在我的develop分支上添加模块和主题。最佳工作流程是什么,在我本地测试后:我是否需要将develop合并到master,然后推送到远程?如何将它们合并到远程主分支,以便我的客户可以看到代码? - meez
是的,但是您需要提交您的.gitignore文件,因为它已被修改。所以执行'git add .gitignore',然后执行'git commit -m "gitignore"'。 - ItayB
2
绝对的生命救星 - Izac Mac
1
如果你在Github上,将你的更改推送到开发分支,并创建一个拉取请求,将你的开发分支合并到主分支。 - ItayB
显示剩余19条评论

7
将本地的develop合并到master,然后推送(push)。
git checkout master
git merge develop
git push

谢谢。我会尝试一下。但是当我执行git status时,我在更新的问题中得到了上述内容。我该怎么做? - meez
如果主分支是受保护的,你无法推送到该分支怎么办? - Monroe Mann
1
受保护的分支仅存在于像GitLab/GitHub这样的包装器中。在这种情况下,我认为您应该推送到develop并创建一个拉取请求到master。 - Francesco

1

首先将您的更改提交到主分支

 git checkout develop
 git pull origin develop
 git checkout master
 git merge develop
 git push origin master

0

我认为该过程是使用git pull request从dev(远程)合并到master(远程)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接