如果我有一个本地分支和一个远程分支不同步,可以通过运行以下命令轻松将本地分支重置为远程状态:
$ git reset --hard origin/foo
然而,在某些情况下,这种方法并不适用,尤其是当我运行一个需要将当前分支重置为远程状态的脚本时(我现在在Jenkins脚本中遇到了这个问题)。
我需要的是一条命令,“找到远程跟踪分支并将本地分支重置为它”。假设总会有一个远程跟踪分支。
简单地使用“origin”是不行的,因为我有多个远程仓库。我得到的最接近的解决方法是:
git reset --hard `git branch -vv | grep "^*" | grep -P -o "(?<=\[).*(?=\])"`
但是这看起来很傻,考虑到git拥有成千上万的命令,肯定有更简单的方法。