2016-12-31 118 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 
相關問題