Pla*_*mer 1339 git branch git-push git-branch
我使用以下命令推送到我的远程分支:
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]
只会将该分支推送到远程.
Bri*_*n L 1561
您可以通过在git config中设置push.default来控制默认行为.从git-config(1)文档:
push.default
Run Code Online (Sandbox Code Playgroud)
如果在命令行上没有给出refspec,在远程中没有配置refspec,并且命令行上给出的任何选项都没有暗示refspec,则定义git push应采取的操作.可能的值是:
nothing
:不要推任何东西
matching
:推送所有匹配的分支
两端具有相同名称的所有分支都被认为是匹配的.
这是Git 1.x中的默认值.
simple
:将当前分支推送到其上游分支(upstream
是上游的弃用同义词)
tracking
:将当前分支推送到同名分支
current
:(在Git 1.7.11中新增),如上游,但如果上游分支的名称与本地分支不同,则拒绝推送
这是最安全的选择,非常适合初学者.
这将成为Git 2.0中的默认设置.
简单,当前和上游模式适用于那些想要在完成工作后推出单个分支的人,即使其他分支尚未准备好被推出
命令行示例:
要查看当前配置:
git config --global push.default
Run Code Online (Sandbox Code Playgroud)
要设置新配置:
git config --global push.default current
Run Code Online (Sandbox Code Playgroud)
Chr*_*fer 204
您可以使用push.default为您的git设置默认行为
git config push.default current
Run Code Online (Sandbox Code Playgroud)
或者如果您有许多存储库并希望所有存储库都相同
git config --global push.default current
Run Code Online (Sandbox Code Playgroud)
此设置中的当前流量意味着默认情况下,只有在执行git push时才会推送当前分支
其他选择是:
更新 - 新方式做到这一点
从Git 1.7.11开始,执行以下操作:
git config --global push.default simple
Run Code Online (Sandbox Code Playgroud)
这是一个引入的新设置,其工作方式与当前相同,并且根据谣言将从v 2.0默认为git
bau*_*ack 198
git push origin
将推送具有匹配远程分支的本地分支上的所有更改为origin
Asgit push
类似于
git push <remote>
,<remote>
当前分支的远程(或原点,如果没有为当前分支配置远程)的位置.
neo*_*eye 54
我只是将我的代码提交到分支并将其推送到github,如下所示:
git branch SimonLowMemoryExperiments
git checkout SimonLowMemoryExperiments
git add .
git commit -a -m "Lots of experimentation with identifying the memory problems"
git push origin SimonLowMemoryExperiments
Run Code Online (Sandbox Code Playgroud)
Muk*_*ain 25
这是关于Git Push的非常方便和有用的信息: Git Push:Just the Tip
git push最常见的用途是将本地更改推送到公共上游存储库.假设上游是名为"origin"的远程(如果您的存储库是克隆,则为默认远程名称),并且要更新到/来自的分支名为"master"(默认分支名称),这可以通过以下方式完成:git push origin master
git push origin
将所有本地分支的更改推送到原始远程的匹配分支.
git push origin master
将更改从本地主分支推送到远程主分支.
git push origin master:staging
将更改从本地主分支推送到远程分段分支(如果存在).
Von*_*onC 19
(2012年3月)
注意:默认的" matching
"策略可能很快就会改变
(有时在git1.7.10 +之后):
请参阅" 请讨论:什么"git push"应该做什么,当你不说什么推? "
在当前设置(即
push.default=matching
)中,git push
不带参数将推送本地和远程使用相同名称存在的所有分支.
这通常适用于开发人员推送到自己的公共存储库时,但在使用共享存储库时可能会造成混淆.该提案是为了改变默认为"
upstream
",即只推当前分支,并将其推到分支的git拉将从拉.
另一位候选人是'current
'; 这会将当前分支仅推送到同名的远程分支.到目前为止所讨论的内容可以在这个帖子中看到:
http://thread.gmane.org/gmane.comp.version-control.git/192547/focus=192694
以前的相关讨论包括:
要加入讨论,请将您的消息发送至:git@vger.kernel.org
Mat*_*fer 18
我只是把它放在我的.gitconfig别名部分,并喜欢它的工作原理:
pub = "!f() { git push -u ${1:-origin} `git symbolic-ref HEAD`; }; f"
Run Code Online (Sandbox Code Playgroud)
将当前分支推送到原点git pub
或与另一个回购git pub repo-name
.可口.
git push会尝试将所有本地分支推送到远程服务器,这可能是你不想要的.我有几个便利设置来处理这个:
别名"gpull"和"gpush":
在我的〜/ .bash_profile中
get_git_branch() {
echo `git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'`
}
alias gpull='git pull origin `get_git_branch`'
alias gpush='git push origin `get_git_branch`'
Run Code Online (Sandbox Code Playgroud)
因此,执行"gpush"或"gpull"将仅推送我的"当前打开"分支.
您可以更改您的默认行为.gitconfig
,例如:
[push]
default = current
Run Code Online (Sandbox Code Playgroud)
要检查当前设置,请运行:
git config --global --get push.default
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
624559 次 |
最近记录: |