相关疑难解决方法(0)

git"--track"和"--set-upstream-to"有什么区别?

正如我所看到的,git --track--set-upstream-to修改分支都是因为它成为跟踪(或上游)分支.但是,我无法理解的细微差别在哪里.该--track记录的"远程分支跟踪本地":

$ git checkout foo -b
$ git branch --track origin/retarget

Branch origin/retarget set up to track local branch foo.

$ cat .git/config
[branch "origin/retarget"]
        remote = .
        merge = refs/heads/foo
Run Code Online (Sandbox Code Playgroud)

虽然--set-upstream-to记录"本地分支追踪远程分支":

$ git checkout foo -b
$ git branch --set-upstream-to origin/retarget

Branch foo set up to track remote branch retarget from origin.

$ cat .git/config
[branch "foo"]
        remote = origin
        merge = refs/heads/retarget
Run Code Online (Sandbox Code Playgroud)

这两者有什么区别?我确信"跟踪分支"是一个简单的概念,upstream在分支内部追加指针,跟踪存储库head中指定分支的位置remote.但似乎它要复杂得多吗?

git

18
推荐指数
2
解决办法
2845
查看次数

如何在没有--set-upstream的情况下推送远程服务器上不存在的新分支?

这种情况是我在远程服务器上没有存储库,只有一个帐户。然后,我在本地运行以下命令,其中x是用户名,y是仅存在于我的本地系统上的项目名称。

git init  
git remote add buckety https://x@bitbucket.org/x/y.git  
git add .  
git commit --message "Here we go..."  
git push buckety
Run Code Online (Sandbox Code Playgroud)

现在我收到错误提示我设置远程上游。我可以这样做(--set-upstream或者-u),但是根据我的 googlearching,它已被弃用。(实际上很奇怪,控制台中的建议仍然提到它。)

我想以正确的方式做到这一点,并且我已经搜索了--track--set-upstream-to。但是,就我所见,我在 Git 上的特定场景没有示例,并且我测试的操作因错误而失败。

我应该如何在不撤回使用已弃用选项的情况下创建远程分支?我可能想在远程创建一个跟踪分支,以便:

  1. 本地分支 A 对应远程分支 A,但也
  2. 本地分支 A 对应远程分支 B。

最好,我想在推送之前配置它,但我不确定如何配置。我无法使用结帐,因为该分支尚不存在。出于同样的原因,我不能使用set-upstream-to

git version-control branch git-branch

7
推荐指数
1
解决办法
7868
查看次数

标签 统计

git ×2

branch ×1

git-branch ×1

version-control ×1