Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/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 - Fatal编程技术网

Git 从远程服务器的同一分支更新我的本地分支

Git 从远程服务器的同一分支更新我的本地分支,git,Git,我已将一个分支(分支-a)和一个提交推送到远程,现在我的朋友已签出我的远程分支(源/分支-a),进行了一些更改,修改了提交,并推送到同一个分支(即源/分支-a) 现在,我必须更新我的本地分支(分支-a)。我的本地分支机构将不会有旧的提交,而是有我朋友的提交。我怎样才能做到这一点 为了让问题更清楚,我想补充一些可能需要的细节 我将这一次提交添加到分支a,并将这一次提交推送到远程源 我已经像这样推动了我当地的分支机构 git push origin branch-a 我的朋友创建了一个新分支并签出

我已将一个分支(分支-a)和一个提交推送到远程,现在我的朋友已签出我的远程分支(源/分支-a),进行了一些更改,修改了提交,并推送到同一个分支(即源/分支-a)

现在,我必须更新我的本地分支(分支-a)。我的本地分支机构将不会有旧的提交,而是有我朋友的提交。我怎样才能做到这一点

为了让问题更清楚,我想补充一些可能需要的细节

我将这一次提交添加到分支a,并将这一次提交推送到远程源

我已经像这样推动了我当地的分支机构

git push origin branch-a
我的朋友创建了一个新分支并签出了我的远程分支(origin/branch-a),做了一些更改,将上游分支应用到
origin/master
,因为我的分支-a也是对origin/master的跟踪,修改了提交,并推送到了同一个分支(即origin/branch-a)

现在,我必须更新我的本地分支(分支-a)。我的本地分支机构将不会有旧的提交,而是有我朋友的提交。我怎样才能做到这一点


如果他只是在你的上面添加了一个新的commit,你就可以使用git-pull。如果他真的修改了你的提交并强制推送了分支,首先告诉他不要对其他人使用的分支执行此操作,然后简单地删除你的本地分支并再次签出远程分支。

推送到远程分支后,你做了任何更改吗?不,我没有做任何更改。没有类似的事情。事实上,我想在更新本地分支后做一些更改,然后我会再次修改朋友的提交并推送到同一个远程分支。我知道,在您再次签出分支后,您在本地拥有它的最新版本,然后您可以使用它执行您描述的操作,去尝试;-)我已删除本地分支,然后签出到同一远程分支。我有个问题这是唯一的办法吗?我的意思是,如果不删除本地分支,我就不能用其他人修改的最新提交更新它吗?据我所知,这些分支不再同步,我认为git会因此完全拒绝你。但这并不是一个真正的问题,通常你不会一次又一次地修改提交,你只需要做一些更改并推送一个新的提交。记住,提交是一段历史。你不应该一直像这样重写你的git历史,你不会有任何问题。我遵循了你的方法,实现了我的期望。
git push origin branch-a