2016-12-31 67 views
0

我已经删除了本地的所有文件夹/文件,然后将其提交,然后按下它。所以目前,我在bitbucket上的主分支是空的。现在我需要将2版本设置为主分支。我怎样才能做到这一点?如何将我的项目的旧版本作为主(当前工作版本)?

我可以开2版之前是这样的:

$ git checkout {token} 

但在这种情况下,路径是这样的:~/Desktop/repo ({token}) ..!那么我不想那样,我想把2版本的全部价值复制到master分支中。我怎样才能做到这一点?

+0

究竟做你的意思'我需要设置2版本以前作为主branch'?你只是希望主人在那个提交(所有它的历史?),或者你想要那个提交的文件作为你的空的bitbucket分支(没有历史记录)的新提交?或者你的意思是完全不同的? – Guildencrantz

回答

1

你最关心的是如何更新服务器,而不是本地的?如果是这样,您最简单的解决方案可能就是将该特定分支推送为远程主分支。

$ git push -f origin {token}:master 

,说推到origin你想要的{token},并更新远程master分支是具体的承诺,改变历史如果需要的话。

然后,您可以重新克隆您的工作空间以进行“全新开始”。

(有许多方法来实现这一目标,包括与更多的git复杂,但我觉得上面的是你的最直接和易于理解的解决方案)

+0

据我所知,这个命令将删除所有旧提交。我说得对吗? – Shafizadeh

+0

如果任何分支不再引用“旧提交”,他们将有资格进行垃圾回收。 –

0

显然,你希望有一个新的提交上以前的一些顶部,有一些以前的提交内容?

如果是这样,我应该这样做:

# create branch based on some old commit 
git checkout -b merge-to-old-commit token 

# do a simple change, just to get a new commit with a message 
# then commit it 
git commit -m "pulled foo back from previous commit for merging into HEAD." 

# and merge that to your master/HEAD 
git checkout master 
git merge --no-commit merge-to-old-commit 
相关问题