と呼ばれる新しいGitHubブランチを作成したいと思いますrelease
。
このブランチは空である必要があります!ただし、x個のコミットがある既存のブランチがあり、そのコミット履歴は必要ありません。
私が見つけた唯一の方法は、ローカル --orphan
ブランチを作成することです。
と呼ばれる新しいGitHubブランチを作成したいと思いますrelease
。
このブランチは空である必要があります!ただし、x個のコミットがある既存のブランチがあり、そのコミット履歴は必要ありません。
私が見つけた唯一の方法は、ローカル --orphan
ブランチを作成することです。
回答:
--orphan
オプションの何が問題になっていますか?空で履歴のないブランチが必要な場合は、これが最適な方法です...
git checkout --orphan empty-branch
次に、ステージング領域にあるすべてのファイルを削除できます(コミットされないようにするため)。
git rm -rf .
この時点で、マシン上に空のブランチがあります。
空のブランチをプッシュすることはできないため、GitHub(または他のGitリポジトリ)にプッシュする前に、コンテンツが含まれていない場合でも(つまり、空のコミット)、少なくとも1つのコミットが必要になります。
git commit --allow-empty -m "root commit"
最後に、それをリモートに押して、ビールを割って開きます
git push origin empty-branch
--orphan
空のブランチをローカルで作成するのに適していますが、それをプッシュしたり、他のブランチと対話したりするには、コミットが必要になります。
孤立したブランチで新しいコミットを作成することは、他のブランチと対話できなくなるため、お勧めできません。つまり、
git checkout --orphan test
git commit --allow-empty -m "init test branch"
git merge master
fatal: refusing to merge unrelated histories
代わりに、masterの最初のコミットから新しいブランチを作成することをお勧めします。コミットが空でない場合は、@ houtanbで説明されているように、最初のコミットの前に空のコミットを追加できます。
受け入れられた答えは私にいくつかの問題を引き起こしたので、私はこれをしました:
$ git branch
* staging
$ git branch master c74d99cf46f6ed23e742f2617e9908294b4a608b
$ git checkout master
Switched to branch 'master'
そして、マージ/プルリクエストの問題なしで私が欲しいものを手に入れました。私はちょうど私の第二のブランチを作成するためにコミットベースを選択しなければならなかったから。