GitHub - 拉取请求 - 合并

时间:2016-09-16 20:10:25

标签: git github git-merge

我正在使用GitHub网站提交拉取请求(例如开发 - 功能 - >开发)。在某些情况下会发生冲突并告诉我它无法自动合并并运行以下命令:

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

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

merge made by the 'recursive' strategy

在本地,它没有任何冲突(它会自动合并我的冲突文件)。

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

谢谢,

1 个答案:

答案 0 :(得分:1)

你正在以相反的方式做这件事。您应该在功能分支中合并开发。

您的分支development的本地副本仍然在" old"版。你必须手动更新它。

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

现在,在执行fetch命令后,您可以检查您的开发分支,并且您应该会看到一条消息,表明您正在"背后"。

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

回到您的功能分支,然后执行git merge development。你将得到github正在谈论的冲突。修复它们,提交并推送。 Github然后允许你合并

TL;博士

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