如何同时创建一个分支和新的远程跟踪分支?

我通常通过 git checkout -b ... 而当我第一次推送到它时,我被提示使用–set-upstream参数来创建一个新的远程跟踪分支。 我可以在创建分支时用一条命令来完成吗? 我已经尝试了以下方法(根据 这里的说明):

   % git checkout -b mybranch20200423 --track origin/mybranch20200423                          
fatal: 'origin/mybranch20200423' is not a commit and a branch 'mybranch20200423' cannot be created from it

   % git checkout -b mybranch20200423 origin/mybranch20200423        
fatal: 'origin/mybranch20200423' is not a commit and a branch 'mybranch20200423' cannot be created from it

我是不是做错了什么? 为什么 git 认为 “originmybranch20200423 “应该是一个提交?

解决方案:

我没有所有的细节 git branch 命令,但看起来像是 --track--set-upstream 唯恐 现有 分支名称。

$ git branch --set-upstream origin/foo/bar
error: the requested upstream branch 'origin/foo/bar' does not exist
hint: 
hint: If you are planning on basing your work on an upstream
hint: branch that already exists at the remote, you may need to
hint: run "git fetch" to retrieve it.
hint: 
hint: If you are planning to push out a new local branch that
hint: will track its remote counterpart, you may want to use
hint: "git push -u" to set the upstream config as you push.

在推送时,可以通过使用 git push -u <branchname>.


为了处理 “推送一个新分支 “的情况,我使用了以下命令。

git push origin -u $(git rev-parse --abbrev-ref HEAD)
  • git rev-parse --abbrev-ref HEAD 将给出当前活动分支的名称。
  • $(...) 将其作为一个参数注入到外部命令中。
  • git push -u <branchname> 将当前提交推送到远程分支 <branchname> 并加 origin/branchname 作为跟踪的上游分支。

我为它添加了一个别名。

git config --global config.pushnew '! git push origin -u $(git rev-parse --abbrev-ref HEAD)'

这样在终端上输入:

git pushnew

在终端上输入 : 就可以推送我的新分支,而不需要重复分支名。

给TA打赏
共{{data.count}}人
人已打赏
未分类

java "main "线程中的异常(已解决)[重复]。

2022-9-8 7:09:42

未分类

有没有办法让图形打在pyplot中的方框边界上?

2022-9-8 7:09:44

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索