是否有一个快捷方式告诉Git将当前跟踪分支推到原点?
注意:我知道我可以更改默认的推送行为,但我正在寻找一个不更改默认行为的临时解决方案。
例如,假设我正在使用分支feature/123-sandbox-tests
git push origin feature/123-sandbox-tests
这很乏味。我在找捷径,就像
git push origin current # <- example, not working
git知道当前是feature/123-sandbox-tests。
编辑:从2.0版开始,git的默认行为已经变成了更直观的行为,这是我想要实现的。详见这个SO问题。
编辑2:ceztko的答案是最好的答案,因为它允许推送当前分支,不管设置如何。
最简单的方法:运行git push -u origin feature/123-sandbox-tests一次。这将以您习惯的方式推动分支,并在本地配置中设置上游跟踪信息。在此之后,您可以将跟踪的分支推到它们的上游远程。
你也可以在配置中通过设置分支来做到这一点。> <分支的名字。合并到远程分支名称(在您的情况下与本地名称相同),并可选地合并到分支。> <分支的名字。远程到您想要推到的远程的名称(默认为origin)。如果你查看你的配置,很可能已经有一个master设置,所以你可以按照这个例子来做。
最后,确保您考虑了push.default设置。它默认为“匹配”,这可能会产生不希望看到的和意想不到的结果。我认识的大多数人认为“上游”更直观,它只推动当前的分支。
这些设置的详细信息可以在git-config手册页中找到。
仔细想想,再看一遍你的问题,我想你是知道这些的。我觉得你真正要找的东西并不存在。这样一个bash函数怎么样(未经测试):
function pushCurrent {
git config push.default upstream
git push
git config push.default matching
}