很抱歉,如果已经提出这个问题。
从名为“git_lab”的仓库进行克隆,该仓库有一个名为“test”的分支 克隆时,使用“-b myname_test”创建名为“myname_test”的本地分支,将本地克隆命名为“myname_git_lab”
当我执行“git pull”时,它会自动获取并合并从“test”到“myname_test”的更改,但是对于git push,我需要指定repo和branch name。
$> git remote show git_lab
为'git pull'配置的本地分支: myname_test与远程测试合并
有没有办法可以配置“为'git push'配置的本地分支”,这样我就不需要指定分支和repo名称了?
答案 0 :(得分:26)
你可以在这做两件事。
将push.default
设置为tracking
,以便将所有分支推送到他们跟踪的远程分支,而不是与其名称相同的分支,然后使用适当的跟踪配置您的分支信息。 (例如,将branch.master.remote
设置为origin
,将branch.master.merge
设置为refs/heads/foo
。)
手动推送。 git push origin master:foo
会将您的本地master
分支推送到远程foo
上的分支origin
。
但是,我建议您真正想要做的只是让分支名称相同。
(您可以使用git config
设置配置参数,例如git config push.default tracking
,也可以直接编辑.git / config文件。)
答案 1 :(得分:0)
git checkout --track origin/branchname
或者,您可以编辑.git文件夹中的配置文件。