我已经采取了以下步骤:
- 克隆远程Git仓库
- 将主分支分支为实验性分支
- 在实验性分支中进行编辑/测试/提交代码
现在,我还没有准备好将实验性分支合并到主分支。但是,我希望将其推送回远程仓库,因为那是我与几个同事分享的仓库。我希望他们能够看到我在实验性分支中做的工作。我通常通过SSH访问远程仓库。
如何在不影响远程仓库的主分支的情况下,在远程仓库上共享我的本地分支?
我已经采取了以下步骤:
现在,我还没有准备好将实验性分支合并到主分支。但是,我希望将其推送回远程仓库,因为那是我与几个同事分享的仓库。我希望他们能够看到我在实验性分支中做的工作。我通常通过SSH访问远程仓库。
如何在不影响远程仓库的主分支的情况下,在远程仓库上共享我的本地分支?
git push origin experimental
在源代码库中查找与experimental
匹配的引用(最有可能找到refs/heads/experimental
),并使用它更新原始代码库中相同的引用(例如refs/heads/experimental
)。
experimental
,则会创建该引用。
这与以下操作相同:
git push origin experimental:refs/heads/experimental
experimental
分支来创建名为 experimental
的分支。You can use git config to assign a default remote to a given branch. This default remote will be used to push that branch unless otherwise specified.
This is already done for you when you use git clone, allowing you to use git push without any arguments to push the local master branch to update the origin repository’s master branch.
git config branch.<name>.remote <remote>
can be used to specify this manually.
Jan建议(对于git >= 1.7.0),使用push -u
(或push --set-upstream
)选项:
对于每个处于最新状态或已成功推送的分支,添加上游(跟踪)引用,供无参数的git-pull(1)和其他命令使用。
这样,您就不必进行任何git配置。
git push -u origin experimental
push
命令的-u
选项,以确保本地分支跟踪远程分支。如果您忘记使用-u
选项,则可以在分支中输入git push -u
,然后git pull
将起作用。 - Jangit push origin experimental
时,没有任何包被上传的证据。看起来 远程仓库已经拥有了你之前推送的所有内容;只需要将其钩入引用即可。 - Kazgit push origin experimental
只会在远程创建分支experimental
。 - VonCexperimental
,远程仓库的名称为origin
,那么就是这样的:git push origin experimental
git push -u <remote-name> <branch-name>
如果新创建的分支不是从同一代码库派生出来的,则无法使用该命令。例如,如果您没有使用 git checkout -b new_branch
创建新分支,则此方法将无效。
例如,我本地克隆了两个不同的代码库,我需要将 repo2/branch1 复制到 repo1/ 并推送它。
这个链接 帮助我将本地分支(从其他代码库克隆)推送到远程代码库:
$ git push --set-upstream origin your_new_branch
在您提交了几次到您的代码库之后:
$ git checkout -b your_new_branch
$ git add file
$ git commit -m "changed file"
你可以将指定上游的分支推送到其中一个远程仓库中,方法如下:
$ git push --set-upstream REMOTE YOUR_BRANCH
远程可以被看见
$ git remote -v
origin
。因此,您的命令看起来应该是这样的:$ git push --set-upstream origin your_new_branch
所有后续的推送都可以使用 git push
命令完成。
这里是 Github 远程管理的权威 Github 页面 http://github.com/guides/push-a-branch-to-github。它将帮助您回答所有问题。