我已经删除了本地的所有文件夹/文件,然后将其提交,然后按下它。所以目前,我在bitbucket上的主分支是空的。现在我需要将2版本设置为主分支。我怎样才能做到这一点?如何将我的项目的旧版本作为主(当前工作版本)?
我可以开2版之前是这样的:
$ git checkout {token}
但在这种情况下,路径是这样的:~/Desktop/repo ({token})
..!那么我不想那样,我想把2版本的全部价值复制到master分支中。我怎样才能做到这一点?
我已经删除了本地的所有文件夹/文件,然后将其提交,然后按下它。所以目前,我在bitbucket上的主分支是空的。现在我需要将2版本设置为主分支。我怎样才能做到这一点?如何将我的项目的旧版本作为主(当前工作版本)?
我可以开2版之前是这样的:
$ git checkout {token}
但在这种情况下,路径是这样的:~/Desktop/repo ({token})
..!那么我不想那样,我想把2版本的全部价值复制到master分支中。我怎样才能做到这一点?
你最关心的是如何更新服务器,而不是本地的?如果是这样,您最简单的解决方案可能就是将该特定分支推送为远程主分支。
$ git push -f origin {token}:master
,说推到origin
你想要的{token}
,并更新远程master
分支是具体的承诺,改变历史如果需要的话。
然后,您可以重新克隆您的工作空间以进行“全新开始”。
(有许多方法来实现这一目标,包括与更多的git复杂,但我觉得上面的是你的最直接和易于理解的解决方案)
据我所知,这个命令将删除所有旧提交。我说得对吗? – Shafizadeh
如果任何分支不再引用“旧提交”,他们将有资格进行垃圾回收。 –
显然,你希望有一个新的提交上以前的一些顶部,有一些以前的提交内容?
如果是这样,我应该这样做:
# 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
究竟做你的意思'我需要设置2版本以前作为主branch'?你只是希望主人在那个提交(所有它的历史?),或者你想要那个提交的文件作为你的空的bitbucket分支(没有历史记录)的新提交?或者你的意思是完全不同的? – Guildencrantz