我希望能够做到以下几点:
基于其他(远程或本地)分支创建本地分支(通过git branch或git checkout -b )
将本地分支推送到远程存储库(发布),但使其可跟踪,以便git pull和git push立即生效。
我怎么做?
我知道--set-upstream在 Git 1.7 中设置--set-upstream ,但这是一个创作后的动作。我想找到一种方法来在将分支推送到远程存储库时进行类似的更改。
在 Git 1.7.0 及更高版本中,您可以签出一个新分支:
git checkout -b <branch>编辑文件,添加和提交。然后使用-u (-- --set-upstream缩写)选项推送 :
git push -u origin <branch>Git 将在推送期间设置跟踪信息。
如果您没有与他人共享您的仓库,这对于将所有分支推送到远程并且--set-upstream跟踪正确地为您来说非常有用:
git push --all -u(不完全是 OP 的要求,但这个单线很受欢迎)
如果你与其他人分享你的回购,这不是一个很好的形式,因为你会用你所有狡猾的实验分支堵塞回购。
在引入git push -u ,没有git push选项来获得你想要的东西。您必须添加新的配置语句。
如果您使用以下方法创建新分支:
$ git checkout -b branchB
$ git push origin branchB:branchB您可以使用git config命令避免直接编辑.git/config文件。
$ git config branch.branchB.remote origin
$ git config branch.branchB.merge refs/heads/branchB或者,您可以手动编辑.git/config文件以获取此分支的跟踪信息。
[branch "branchB"]
remote = origin
merge = refs/heads/branchB