如何通过丢弃所有更改将所有更改从远程原始主分支复制到本地的新分支

How to copy all changes from the remote origin master branch to a new branch on local by discarding all changes of it

我有一个本地 master 分支,在远程 origin master 之前有 5 个提交。我想在我的本地创建一个新分支 'fresh-master' 并丢弃我本地 master 分支中的所有更改。并复制远程原点主机的完全相同的代码。虽然我想保留本地主控中的更改。 我应该怎么做? 我通过 git branch fresh-master 创建了一个新分支。

git fetch
git branch fresh-master origin/master

将从分支的远程状态创建一个新的fresh-master分支,对已经存在的master没有任何影响。

新分支将包含master最近的更改(您最近未推送的提交)。

RomainValeri 的回答大部分是正确的,但没有说明您说您已经创建了新分支这一事实。在那种情况下,最简单的做法是

git checkout fresh_master
git reset --hard origin/master

您可能还想将 origin/master 设置为 fresh_master 的上游分支。

git branch -u origin/master

但是,让两个分支跟踪同一个远程分支可能会让人感到困惑;如果您改为在本地 master 创建一个新分支,然后简单地将 master 重置为 origin/master 以保留正常的跟踪关系,那么在某些方面会更直接。