Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 用远程跟踪分支覆盖本地分支(分支已分叉)_Git_Git Branch_Git Remote - Fatal编程技术网

Git 用远程跟踪分支覆盖本地分支(分支已分叉)

Git 用远程跟踪分支覆盖本地分支(分支已分叉),git,git-branch,git-remote,Git,Git Branch,Git Remote,我已经使用以下命令创建了一个名为my-4.3.y的新分支 (注意:my-4.3.y设置为从原点跟踪远程分支4.3.y): 在查看my-4.3.y分支后,我还没有对其进行过任何操作。 几天后,当我跑步时: git status 它告诉我my-4.3.y和origin/4.3.y已经发生了分歧 我不在乎分支在哪里以及为什么会分叉,我不想合并 远程分支进入我的系统。我只希望我的分支与远程分支相等 再次分支 所以,我要做的是:(1)签出其他分支(2)删除my-4.3.y和(3)再次签出: git ch

我已经使用以下命令创建了一个名为my-4.3.y的新分支 (注意:my-4.3.y设置为从原点跟踪远程分支4.3.y):

在查看my-4.3.y分支后,我还没有对其进行过任何操作。 几天后,当我跑步时:

git status
它告诉我my-4.3.y和origin/4.3.y已经发生了分歧

我不在乎分支在哪里以及为什么会分叉,我不想合并 远程分支进入我的系统。我只希望我的分支与远程分支相等 再次分支

所以,我要做的是:(1)签出其他分支(2)删除my-4.3.y和(3)再次签出:

git checkout some_other_branch
git branch -D my-4.3.y
git checkout -b my-4.3.y origin/4.3.y

有更简单的方法吗?

您可以使用
git reset--hard
强制当前签出的分支到达您想要的任意点

注意:使用
--hard
不是目录安全的,并且会抛出您所做的任何更改

对于更新跟踪分支的特定情况,您可以使用
@{u}
指定您的上游分支

git reset --hard @{u}
通常,您可以传入任何分支引用或Git解析为提交的任何其他内容,例如

git reset --hard origin/4.3.y

使用
git重置--硬原点/4.3.y
instead@AndrewC这就是我要找的。你能把它作为答案贴出来吗?
git reset --hard origin/4.3.y