还记得在提交拉取请求之前推送功能分支吗?

时间:2016-03-06 01:17:50

标签: git github

如果之前有人问过,我道歉 - 我无法找到关于SO的明确现有答案。我刚刚开始使用here描述的过程(一个成功的Git分支模型)。当他们准备将他们的功能分支合并到开发分支时,我让我的团队成员在GitHub上提交拉取请求。但是,开发人员必须始终记住执行

$ git push origin branch-XYZ

在提交拉取请求之前,对吧?如果您已在本地构建了所有内容,然后忘记将该功能分支推送到原点,则可能会导致很多混淆:我将功能分支合并到开发分支中,删除原点上的功能分支,以及关闭拉取请求。但仍有2个提交仍然存在于本地功能分支中,这些功能从未被推送过,并且实际上已经永远消失了。除了&#34之外,任何人都知道更好的方法来处理这个问题;只要记得推动"?我在这里遗漏了一些基本的东西吗?

2 个答案:

答案 0 :(得分:1)

“只记得推”就是它。但是您可能希望探索的一个途径是编写一个shell脚本,执行以下操作:

  • 执行git push

  • 通过运行git status或任何其他方式获取当前分支的名称。

  • 使用Github API提交拉取请求。

然后要求策略始终使用shell脚本提交拉取请求,而不是手动。

答案 1 :(得分:1)

  

在提交拉取请求之前,对吗?   如果您已在本地构建了所有内容,则忘记将该功能分支推送到原点

非常简单:
如果你想要服务器上的代码只需按下它。

如果您需要,可以设置post-commit挂钩并添加回显线以提醒您推送到服务器

  

<强> post-commit
  整个提交过程完成后,提交后挂钩运行

示例挂钩:

#!/bin/sh

# Output colors
red='\033[0;31m';
default='\033[0;m';

echo "${red}"
echo "                                         "
echo "                   |ZZzzz                "
echo "                   |                     "
echo "                   |                     "
echo "      |ZZzzz      /^\            |ZZzzz  "
echo "      |          |~~~|           |       "
echo "      |        |-     -|        / \      "
echo "     /^\       |[]+    |       |^^^|     "
echo "  |^^^^^^^|    |    +[]|       |   |     "
echo "  |    +[]|/\/\/\/\^/\/\/\/\/|^^^^^^^|   "
echo "  |+[]+   |~~~~~~~~~~~~~~~~~~|    +[]|   "
echo "  |       |  []   /^\   []   |+[]+   |   "
echo "  |   +[]+|  []  || ||  []   |   +[]+|   "
echo "  |[]+    |      || ||       |[]+    |   "
echo "  |_______|------------------|_______|   "
echo "                                         "
echo "                                         "
echo "  Push, Push Push the code to remote     "
echo "                                         "
echo "${default}"

exit 0;