を押され、変更のみ、最新の/最後のmaster
分岐履歴にコミット?
「はい」の場合は、それに従います。 git log
にコミットが1つしかない新しいmaster
が作成されます。 作業ツリーは同じですが、master
履歴は削除されます(最新のコミットのみを保持します)。
安全のために、あなたの
master
ブランチが
$ git branch master.bac # new branch called master.bac = master
コピー
$ git log # copy the latest commit (top commit)
戻る1へmaster
のブランチの最新のコミットハッシュコミットしていない、コミットの歴史を持つ新しいorphan
(新しいブランチを作成
まずバックアップ) ブランチ。
$ git checkout HEAD~1 # back to one commit
$ git checkout --orphan orphan-branch
今orphan-branch
にマスターの(あなたが前にコピーした)最新のコミットをチェリーピック/取ります。
$ git cherry-pick <commit-hash>
は今、orphan-branch
ブランチはgit log
に一つだけコミットしています。 orphan-branch
歴史リモートへ
$ git checkout master
$ git log # should show only one commit
フォースプッシュの歴史を持つ新しいローカルmaster
ブランチを作成してローカルmaster
支店
$ git log
$ git branch -D master
を削除します。 注:は、それはあなたのローカル/マスターどのようにコミットhash`を--mixed `gitのリセットしてから` Gitのcommit`について
$ git push -f origin HEAD # replace your remote/master with local/master
でリモート/マスターに取って代わるだろう二度と思いますか? –
ヒストリの一部として199回のコミットをすべて1回マージする必要がありますか?あるいは、1つのリビジョンを1つのリビジョンにまとめたいのですか?その場合、 '' 'git merge --squash'''を使用することを検討してください。 – eftshift0
私はちょうどこの問題を編集しています。 – mauriblint