我知道如何创建一个跟踪远程分支的新分支,但是如何使现有分支跟踪远程分支?
我知道我可以编辑.git/config文件,但似乎应该有一个更简单的方法.
我一直在使用Git一段时间,并且最近只下载了一个更新,以便在我尝试时发现此警告消息push.
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
Run Code Online (Sandbox Code Playgroud)
我显然可以将它设置为所提到的值之一,但它们是什么意思?simple和之间有什么区别matching?
如果我在一个客户端上更改它,我是否需要在我共享回购的其他客户端上做任何事情?
我使用以下命令推送到我的远程分支:
git push origin sandbox
Run Code Online (Sandbox Code Playgroud)
如果我说
git push origin
Run Code Online (Sandbox Code Playgroud)
这会推动我的其他分支的变化,还是只更新我当前的分支?我有三个分支:master,production和sandbox.
该git push文件是不是这个很清楚,所以我想澄清这一点为好.
哪些分支和遥控器可以git push完全更新以下命令?
git push
git push origin
Run Code Online (Sandbox Code Playgroud)
origin 上面是一个遥控器.
据我所知,git push [remote] [branch]只会将该分支推送到远程.
我有时想在git命令中使用当前分支名称.例如
git push origin feature/really-long-branch-name
Run Code Online (Sandbox Code Playgroud)
是否有一个git命令只给出分支名称,所以我可以做如下的事情?
git push origin current_branch
Run Code Online (Sandbox Code Playgroud)
有git rev-parse --abbrev-ref HEAD,但是那是在这种情况下,究竟是有用的.由于分支名称经常更改,因此设置默认分支也没有用.改变默认行为git push不是我正在寻找的,因为它仍然意味着我第一次输入完整的分支名称push.
编辑:
主持人,这个问题不是骗局,所以请不要因为这个原因而关闭.请仔细阅读我的问题的粗体部分.
我正在与一个使用git进行版本控制的大型团队合作。正常流程是:
git checkout -b my_feature_branch)处理该问题。git commit)。git push -u origin my_feature_branch)。master.除了员工的需要的基础上创建的远程功能分支,我们有一个用于创建“黄金构建”我们交付给客户,即几十发布分支1.00,1.01,2.00,2.01,2.02,等。
一些开发者开始抱怨分支太多,我倾向于同意。一些开发人员在不再需要旧分支时没有勤奋地清理它们(即使
github 一旦代码审查完成,为此提供一键删除功能)。
有没有办法配置我们公司
github部署,以便当人们git branch通过 CLI使用时:
git branch -a?这样做的主要目标是减少混乱。
编辑: 我发现了一个类似的问题,但唯一的答案根本不适用(不要使用远程分支),这违反了我允许人们推送到远程分支作为数据备份形式的关键约束。正如@Mort 所暗示的那样,私有命名空间的概念似乎正是我正在寻找的。现在,我该如何实现?