如何使用master分支更新我的分支并覆盖我在分支上所做的任何更改?

时间:2015-09-01 14:57:36

标签: git github

我的分支叫做(分支1),它与主分支已经过时了。我想用主分支代码更新分支1,我想删除我在分支1上所做的任何更改。我基本上只想更新分支1,使用最新版本的主分支,我不会#39关心失去我在分支1上的工作。

我查看了stackoverflow,我想我应该做一个git rebase master?但我不认为这会抹掉我在分支1上所做的更改。

我只是想确定一下。有人可以确认吗?

我根本不希望对主分支进行任何更改。我只是想从主分支更新分支1。

谢谢你!

3 个答案:

答案 0 :(得分:1)

如果您当前在本地分支1上,请执行 -

1) git checkout .
2) git pull

确保您的远程上游是必需的分支,或者您可以通过

设置远程上游
git branch --set-upstream-to origin/my_branch

git rebase master将在从远程主分支获得更改后在本地更新您的更改。

注意 - 如果您在本地进行了任何提交,则删除本地主分支并创建一个以远程主分支为上游的新分支会更容易。

你可以通过 -

来做到这一点
1) git fetch
2) git checkout -b new_master origin/master
3) git branch -D master

这将在本地创建一个新的分支“new_master”,删除旧的主分支。

或者更好(如果您在任何分支机构中没有本地更改) - 删除您的仓库并再次克隆代码!

答案 1 :(得分:1)

让我看看我是否可以分步解释:

1)您需要与远程存储库同步。所以你从遥控器上取一个...  (origin是默认的遥控器..如果您配置了不同的名称,也可以从其他遥控器获取它。)
命令:git fetch origin

2)如果您不想要当前分支中的任何内容。然后首先从未分段文件中删除所有本地更改.stash应该处理这个..
命令:git stash

3)现在切换到主分支。这样你就可以删除"分支1"你想要解决的问题。 (这是因为您无法删除已经存在的分支)
命令:git checkout master

4)删除旧的"分支1"
命令:git branch -D"分支1"

5)创建一个新的分支"分支1"从您的远程主人出来 命令:git checkout -b"分支1" origin / master

注意:Source Tree是一个很棒的工具,可以帮助您完成所有这些工作..

答案 2 :(得分:0)

如果你有GitHub客户端,你可以在目录中添加一个基本文件并将更改提交给分支1. **如果你没有**你可以删除分支并从主分支创建它