Git 为推送到特定分支配置本地分支

Git 为推送到特定分支配置本地分支,git,git-branch,git-push,remote-branch,git-config,Git,Git Branch,Git Push,Remote Branch,Git Config,对不起,如果这个问题已经被问过了 我从一个名为“git_lab”的repo克隆,它有一个名为“test”的分支 克隆时,我使用“-b myname\u test”创建名为“myname\u test”的本地分支,本地克隆名为“myname\u git\u lab” 当我执行“git pull”时,它会自动获取并合并从“test”到“myname\u test”的更改,但对于git push,我需要指定repo和分支名称 $>git远程显示git_实验室 为“git pull”配置的本地分支: m

对不起,如果这个问题已经被问过了

我从一个名为“git_lab”的repo克隆,它有一个名为“test”的分支 克隆时,我使用“-b myname\u test”创建名为“myname\u test”的本地分支,本地克隆名为“myname\u git\u lab”

当我执行“git pull”时,它会自动获取并合并从“test”到“myname\u test”的更改,但对于git push,我需要指定repo和分支名称

$>git远程显示git_实验室

为“git pull”配置的本地分支: myname\u测试与远程测试合并

有没有一种方法可以配置“为‘git push’配置的本地分支”,这样就不需要指定分支和repo名称

git checkout --track origin/branchname

或者,您可以编辑.git文件夹中的配置文件。

这里可以做两件事

  • push.default
    设置为
    tracking
    ,以便将所有分支推送到它们跟踪的远程分支,而不是它们与之同名的分支,然后使用适当的跟踪信息配置分支。(例如,将
    branch.master.remote
    设置为
    origin
    branch.master.merge
    设置为
    refs/heads/foo

  • 手动推
    git-push-origin-master:foo
    将本地
    master
    分支推送到远程
    origin
    上的分支
    foo

但是,我建议您真正想要做的是使分支名称相同


(您可以使用
git config
,例如
git config push.default tracking
,或者直接编辑.git/config文件来设置配置参数。)

谢谢,但是设置远程url是为了指定要推送的远程存储库,我如何指定要推送的远程分支?由于我的本地分支名称和远程分支名称不同,跟踪应该可以帮助您。已编辑响应。默认情况下,跟踪不影响推送。如果分支已经存在,
git checkout--track
肯定不是设置跟踪信息的方法。“git config push.default tracking”有效…非常感谢,只是想知道…为什么我们需要指定此配置设置,我想当我们使用-b选项克隆时,一切都设置好了。(branch.master.remote和branch.master.merge是在克隆后自动设置的)@Senthil:这些设置确实是自动进行的,但push的默认行为是推送匹配的分支,而不是跟踪分支。因此,这些设置通常只影响提取/提取,而不影响推送。请参阅中的push.default。git分支如何——设置为上游?@adymitruk:这确实比手动设置第一个项目符号括号中的配置参数对更为顺畅。这是一个相当新的功能,所以我忘了。然而,问题的重点是让它与push一起工作——OP似乎已经配置了跟踪分支——因此重要的部分是
push.default
git config push.default tracking
似乎对我有效+1.