在处理针对特定跟踪问题的修补程序时,我们的工作流程如下所示:
1. git checkout patch; git pull upstream patch; # make sure we're up-to-date
2. git checkout -b issue-435-db-integrity-exception
3. # code some awesome
4. git commit -am "Fixes issue #435"
5. git push -u origin issue-435-db-integrity-exception
Run Code Online (Sandbox Code Playgroud)
然后,我们从打开拉入请求origin/435来upstream/patch,从而使代码审查可以采取在GitHub上/到位桶的地方.然后我们从第1步开始.
但是,虽然它听起来有点吵,但如果我们不必明确命名我们想要创建的远程分支,那将会很棒:
git push -u origin issue-435-db-integrity-exception
Run Code Online (Sandbox Code Playgroud)
重新输入分支名称并不是很有趣,我不同意将其更改为just 435或更紧凑的东西.
有没有办法(1)强制Git将当前分支推送到一个类似命名的分支,必要时创建它而不明确命名它?不是全球性的,只是一种现场的旗帜.
或者,是否有可能(2)访问Git别名中的当前分支,并编写如下内容:
[alias]
pnew = push -u origin $(git symbolic-ref --short HEAD)
Run Code Online (Sandbox Code Playgroud)
(但这不起作用 - 它认为该--short选项意味着push)
小智 9
您可以使用以下内容:
# For Git 1.8.5+
git push origin -u @
# For older versions of Git
git push origin -u HEAD
Run Code Online (Sandbox Code Playgroud)
通过使用@或HEAD,Git会将当前签出的分支推送到origin,如果分支尚不存在origin,它将创建它.
因此,在您的示例中,如果您已issue-435-db-integrity-exception签出,git push origin @则将创建一个具有相同名称的新分支origin.
| 归档时间: |
|
| 查看次数: |
998 次 |
| 最近记录: |