这是我通常的工作流程:
git checkout -b foo
git push
git push --set-upstream origin foo
(愤怒消退)而不是4.到6.,我想在本地创建新分支时做一些工作(不一定让我的分支公开,所以没有推动)杀死步骤4.通过这可能吗?
理想情况下类似于git checkout -b foo -t origin
,通知git我打算在origin
中跟踪同名分支。
git checkout -b foo --set-upstream origin foo
〜> error: unknown option 'set-upstream'
git checkout --track origin/foo
〜> fatal: Cannot update paths and switch to branch 'foo' at the same time.
git checkout -b foo --track origin/foo
〜> fatal: Cannot update paths and switch to branch 'foo' at the same time
git checkout -b foo --track
〜> Branch foo set up to track local branch master.
答案 0 :(得分:6)
answer有一个稍微不同的主题,可以帮助您完成工作流程(不是100%肯定)。
您可以通过减少输入来实现这一目标。首先,改变你的方式 推动工作:
git config --global push.default current
这将推断
origin my_branch
部分,因此您可以这样做:git push -u
这将创建具有相同的远程分支 命名并跟踪它。
实际上你甚至可以省略-u
,它仍然有用。
答案 1 :(得分:1)
如果要在步骤1上设置上游。您将打破git
作为分布式版本控制系统的概念。您可以使用另一个版本控制系统svn
执行此操作。
或者,您可以在-u
上使用git push
标志来设置上游,然后再提交文件。
git branch branch-name
git push -u origin branch-name
...
git commit ...
...
git push
答案 2 :(得分:1)
如果没有-b,它就像git checkout branch-name
一样简单。这会在您的源上创建与branch-name关联的远程跟踪分支。好吧,对我来说。我不明白什么不适合你?