Git:如何更改远程存储库上的活动分支?

时间:2013-01-11 09:52:00

标签: git git-branch git-remote

我在本地分支上处理了一些代码,然后用这个命令将它推送到远程测试库:

git push origin fix_vouchers:fix_vouchers

我想更改该远程存储库上的活动分支,以便其他开发人员可以测试此代码。我可以在当地环境中这样做吗?

3 个答案:

答案 0 :(得分:2)

如果远程存储库只是一个共享点,一个裸存储库,那么最好只将具有代码的分支传递给其他开发人员。

在稍后的评论中,您暗示远程存储库是作为网站的结帐。您应该注意,即使您推送到当前活动的分支,推送也不会自动检出该分支的HEAD。

如果您没有任何shell访问远程计算机,我认为不可能做你想要的。如果你在那里有任何影响,你可以要求设置一个post-receive挂钩来检查新的分支。

当然,如果您有ssh访问权限,只需

ssh remote.net "cd /path/to/repo; checkout fix_vouchers"

答案 1 :(得分:1)

我的观点。 在远程中没有任何称为活动分支。 由您决定分支是否有效。

来到你的场景。 您可以将新分支推送到远程调用releaseCandidate或release或devBranch。 然后告诉大家将其用作测试/开发分支。

但是,如果您的问题与其他开发人员使用某些特定脚本结帐一样,您可能需要更改该脚本。

答案 2 :(得分:1)

否则您无法使用本地命令在远程裸存储库上设置活动分支。

活动分支是HEAD指向的分支。这是git命令的一些分支视图作为存储库的默认分支,例如git clone <url> <name>默认会签出默认分支。

如果您具有对远程存储库的命令行访问权限,则git symbolic-ref命令可用于设置默认的分支 - 请参阅:Setting the default git branch in a bare repository

也就是说,一旦签出,任何特定分支都没有什么特别之处。任何分支都可以与另一个开发人员共享,方法是让他们创建一个绑定到远程分支的分支,特别是使用git checkout -b <branch>命令,其中是您要与之共享的远程分支的名称。这将在其本地存储库上创建一个跟踪远程分支的分支。