0

master ブランチにマージされた古いブランチがいくつかあります。新たに開始したい、つまり、マスター ブランチを除く以前のブランチをすべて削除したい。

マスター ブランチは、将来の開発のための最新の変更を含む新しいベース ブランチになります。どうすればこれを達成できますか。

この変更の後、誰かがプロジェクトをチェックアウトすると、すべての機能を備えた作業用マスター ブランチが取得されます。

コマンド例のヘルプをいただければ幸いです。ありがとう!

4

3 に答える 3

3

git branch -dまたはを使用してローカル ブランチを削除できますgit branch -D(削除するブランチが完全にマージされていない場合)。

リモートでブランスを削除するには、git push REMOTE --delete BRANCH(またはgit push REMOTE :BRANCHgitバージョンが古い場合は構文)を使用できます。そこで実際のリモコンの名前に置き換えてください。デフォルトのリモコンは と呼ばれoriginますが、複数のリモコンがある場合もあります。

于 2013-02-03T17:40:31.260 に答える
1

「git branch -d」はブランチを削除します。ブランチがマージされておらず、強制的に削除したい場合は、'-d' の代わりに '-D' を使用してください。

于 2013-02-03T17:42:36.190 に答える
0

オリジナルを維持したい場合は必要以上かもしれませんmasterが、本当に新しく始めた場合は使用できます

git checkout --orphan new_master
git rm -r --cached .
git clean .
git commit --allow-empty -m 'initial commit'
git tag -a init -m 'repository start'

git clean .を 2 回実行する必要がある場合があります。.gitignoreファイルをクリーニングすると、無視されていたファイルが明らかになります。

これにより、最初からやり直すための空のコミットを持つ新しいベース ブランチが作成され、簡単に参照できるように最初のコミットにタグが付けられます。

次にgit rebase -I --onto init --root <whatever you want to move over>、保存するコミットをこの新しいブランチに持ち込むことを開始します。

古いブランチから必要なものがすべて揃ったらgit branch -D <branch_name>、ブランチ参照を削除します。タグを削除する必要がある場合git tag -d <tag_name>

元のブランチ名とタグを削除した後に保持したい新しいブランチ名とタグを再作成します。

ローカル リポジトリが思いどおりになったら、それを .xml を使用してオリジンにプッシュしgit push origin <local branch>:<remote_branch> --forceます。古いリモート ブランチは で削除できますgit push origin :<remote_branch> --force

この時点で、古いブランチを構成していたコミットは参照されなくなり、agit log --all --oneline --graphに表示されなくなり、新しい「履歴」が希望どおりに表示されるはずです。

于 2013-02-03T17:51:42.057 に答える