Git 如何在不指定远程跟踪分支的情况下将本地分支重置为远程跟踪分支?
如果我有一个本地分支和一个远程分支不同步,通过运行Git 如何在不指定远程跟踪分支的情况下将本地分支重置为远程跟踪分支?,git,jenkins,Git,Jenkins,如果我有一个本地分支和一个远程分支不同步,通过运行 $ git reset --hard origin/foo 但是,在某些情况下,这是很难实现的,特别是如果我运行的脚本需要将我当前签出的任何分支重置为远程状态(我现在在Jenkins脚本中遇到了这个问题) 我需要的是一个命令,它可以“找到远程跟踪分支,并将本地分支重置为任意值”。让我们假设始终存在一个远程跟踪分支 简单地应用“origin”是行不通的,因为我有多个遥控器。最近的一次是 git reset --hard `git branch
$ git reset --hard origin/foo
但是,在某些情况下,这是很难实现的,特别是如果我运行的脚本需要将我当前签出的任何分支重置为远程状态(我现在在Jenkins脚本中遇到了这个问题)
我需要的是一个命令,它可以“找到远程跟踪分支,并将本地分支重置为任意值”。让我们假设始终存在一个远程跟踪分支
简单地应用“origin”是行不通的,因为我有多个遥控器。最近的一次是
git reset --hard `git branch -vv | grep "^*" | grep -P -o "(?<=\[).*(?=\])"`
git reset--hard`git branch-vv|grep“^*“|grep-P-o”(?git提供了
@{u}
作为上游的简写,因此我们可以使用:
$ git reset --hard @{u}
或
有关这类问题的详细信息。另请参见。仅结合拉力ff跟踪远程分支?谢谢,顺便说一句,您可以也应该接受您自己的答案。
$ git reset --hard @{upstream}