2016-12-31 16 views
0

ローカルのすべてのフォルダ/ファイルを削除してからコミットしてから押します。だから現在、bitbucketの私のマスターブランチは空です。今私はmasterブランチとして2バージョン前に設定する必要があります。どうやってやるの?私のプロジェクトの古いバージョンをマスター(現行バージョン)にするにはどうしたらいいですか?

私はこのような2バージョン前で開くことができます。

$ git checkout {token} 

しかし、この場合には、パスは次のようになります。~/Desktop/repo ({token}) ...!まあ、私はそれを望んでいない、私は2つ前のバージョンの全体の価値がマスターブランチにコピーされることを望む。どうやってやるの?

+0

あなたは '私はマスターbranch'として前2バージョンを設定する必要があることで、正確に何を意味するのか?あなたは単純にマスタをコミットしたい(すべての歴史を持っていますか?)か、コミットしているファイルをあなたの空のbitbucketブランチ(履歴なし)にコミットしてもらいたいですか?それとも全く別のことを意味していますか? – Guildencrantz

答えて

1

ローカルではなく、サーバーを更新する方法についてほとんど心配していますか?もしそうなら、最も簡単な解決策は、リモートブランチとしてその特定のブランチをプッシュすることです。 origin希望{token}にプッシュし、特定のコミットということを、リモートmasterブランチを更新し、必要であれば歴史を変えるために言う

$ git push -f 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 
関連する問題