捕获当前分支名称并在Windows上使用Git别名将其删除?

时间:2018-12-13 21:05:05

标签: windows git git-alias

当前,我正在使用此别名在后台获取master,然后切换到该别名。通过这种方式,Visual Studio对我而言最快:

[alias]
  fetch-checkout = !git fetch -p && git fetch origin master:master && git checkout master

最重要的是捕获当前分支名称,然后将其删除。

在Windows上可以吗?

2 个答案:

答案 0 :(得分:2)

由于您无法删除当前所在的分支,因此您需要使用某种临时存储来存储旧分支的名称。像这样:

git rev-parse --abbrev-ref HEAD > tmp.txt && git checkout master && git branch -d `cat tmp.txt` && rm tmp.txt

可以,但是您需要确保不会用> tmp.txt

覆盖任何内容。

答案 1 :(得分:1)

https://stackoverflow.com/a/12142066/7976758
问:如何在Git中获取当前的分支名称?
A:git rev-parse --abbrev-ref HEAD

[alias]
  fetch-checkout = !curbr=$(git rev-parse --abbrev-ref HEAD) && git fetch -p && git fetch origin master:master && git checkout master && git branch -D $curbr