GitHub - merge 请求 - merge

标签 git github git-merge

我正在使用 GitHub 网站提交 pull 请求(例如 development-Feature -> development)。在某些情况下存在冲突,它告诉我它不能自动 merge 并运行以下命令:

git checkout development
git merge development-Feature
git push origin development

当我在本地运行这个命令时,我得到:

merge made by the 'recursive' strategy

在本地它没有任何冲突(它自动 merge 了我的冲突文件)。

我的问题是,GitHub(网站)是否检查任何冲突(即使它们可以自动 merge ),如果有冲突就放弃?我试图找出 GitHub 在执行 pull 请求时使用的命令,但我似乎找不到。

谢谢,

最佳答案

你的做法恰恰相反。您应该将开发 merge 到您的功能分支中。

您的分支 development 的本地副本仍处于“旧”版本。您必须手动更新它。

如果你输入 git fetch -p,从任何分支,它会从服务器下载关于分支的“元数据”,所以换句话说,你的本地 git 将能够知道您没有更新到最新版本。 -p 参数将从本地计算机中删除 github 上不再存在的分支的元数据。

现在执行完 fetch 命令后,您可以检查您的开发分支,您应该会看到一条消息,表明您“落后”了。

现在您需要键入 git pull origin development(在开发分支上)以实际从服务器获取数据。

回到你的特性分支,做一个git merge development。你会得到 github 正在谈论的冲突。修复它们,提交并推送。 Github 然后将允许您 merge

tl;博士

  1. git checkout 开发
  2. git pull origin development
  3. git checkout 开发功能
  4. git merge 开发
  5. 手动解决冲突
  6. git commit
  7. git push origin development-Feature

关于GitHub - merge 请求 - merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39539386/

相关文章:

gitolite:新存储库的默认 Remote

git - 如何在 git push 上解决 "refusing to allow an OAuth App to create or update workflow"

git - 无法 merge origin/master : error: Your local changes to the following files would be overwritten by merge

git - 在 git 中以相反的父顺序创建 merge 提交

Git 子树 pull 导致 merge 冲突

git - 推 pull 的不同默认远程

c# - 需要在cake脚本的GitPull方法中获取修改文件的详细信息

git - 如何 'git remote add' 并跟踪同一文件系统中的分支

git - 如何将我的代码推送到 github fork

git - 还原 git mergetool 所做的更改需要哪些命令?