我有时想在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
.
编辑:
主持人,这个问题不是骗局,所以请不要因为这个原因而关闭.请仔细阅读我的问题的粗体部分.
Tod*_*obs 15
有许多方法可以获取当前分支的名称.最规范的是使用git-symbolic-ref(1)读取HEAD 的符号引用.例如,假设您在主分支上:
$ git symbolic-ref HEAD | sed 's!refs\/heads\/!!'
master
Run Code Online (Sandbox Code Playgroud)
但是,您解析它,您可以通过调用shell的命令替换在另一个命令中使用符号名称.例如,在Bash中:
$ git log -n1 $(git rev-parse --abbrev-ref HEAD)
Run Code Online (Sandbox Code Playgroud)
如果你选择的话,没有理由你不能用push或其他命令来使用这个技巧.
如果您只想将当前分支推送到具有相同名称的远程分支,并且由于某些其他原因而未解析引用,那么您最好使用此处和此处所述的Git的push.default选项.例如:
git config push.default current
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8504 次 |
最近记录: |