如何更改与github上游相同的本地主分支?

时间:2020-01-17 05:08:28

标签: git github git-reset

我是刚接触git的人。我有一个从GitHub克隆的分支(开发)。我对代码进行了一些更改,然后将它们暂存为提交并创建了一个新分支(Remove_Annotations)。然后我意识到我应该先创建一个新分支,然后在新分支中暂存它们以进行提交。现在,我的开发分支具有我不想做的更改。有什么方法可以在本地恢复我在developer分支中所做的更改,使其看起来像我的GitHub上游?

我读到有关使用git reset --hard @{u}的知识,这将使本地分支看起来像我的上游。我不确定对开发分支使用git reset --hard是否正确。我不想对Remove_Annotations分支做任何事情。

我该如何解决?

2 个答案:

答案 0 :(得分:1)

您可以首先基于当前分支创建新分支,然后将该分支推送到远程存储库。

git checkout -b new_feature
git push origin new_feature

然后检出您的develop分支,并将该分支重置为旧版本

git checkout develop
git log # select which history version you want to reset
git reset --hard <the history version you selected>

答案 1 :(得分:0)

硬重置是这里的一种选择:

# from your branch 'feature'
git reset origin/feature

这会将您的本地feature分支重置为本地跟踪版本origin/feature。假设您最近完成了git fetch,则此跟踪分支将与真正的远程跟踪分支同步。如果不确定,可以先尝试获取:

# again, from 'feature'
git fetch origin
git reset origin/feature