[解決済み] Gitでプロジェクトの最初のコミットを変更しますか?重複
質問
プロジェクトの最初のコミットで、それ以降のすべてのコミットを失うことなく、何かを変更したいのですが。これを実行する方法はありますか?
ソースコード内のコメントに誤って自分の生の電子メールを記載してしまい、GitHub をインデックスするボットからスパムを受けるので変更したいのですが。
解決方法は?
で述べたように
エクドパルマ
以下
,
git 1.7.12+
(2012年8月)では、オプション
--root
に対して
git rebase
:
"
git rebase [-i] --root $tip
"に至るすべての履歴を書き換えることができるようになりました。
$tip
"からルートコミットまで。
その新しい動作は、当初 詳細はこちら :
個人的には、"
git rebase -i --root
を必要とせず、単に動作するようにすべきです。--onto
"し、履歴の最初のものでも "編集"できるようにしてください。
履歴の先頭付近を書き換える人は少ないので、誰も気にしないのは理解できます。
は、その パッチが続く .
(2010年2月、当初の回答)
で述べたように Git FAQ (そしてこの SO質問 )という考え方があります。
- 新しいテンポラリブランチを作成する
-
を使用して変更したいコミットまで巻き戻す。
git reset --hard
- そのコミットを変更する (現在の HEAD のトップになり、どのファイルの内容も変更できるようになります)
-
変更されたコミットの上にあるブランチをリベースします。
git rebase --onto <tmp branch> <commit after changed> <branch>`
コツは、削除したい情報が後のコミットでファイル内のどこかに再導入されていないことを確認することです。もしそうだと思われる場合は
filter-branch --tree-filter
を使用して、そのファイルのコンテンツが、いかなるコミットメントにおいても、良識ある情報を含んでいないことを確認します。
どちらの場合も、結局はすべてのコミットの SHA1 を書き換えることになるので、内容を変更しようとしているブランチをすでに公開している場合は注意が必要です。あなたのプロジェクトがまだ公開されておらず、あなたが書き直そうとしているコミットを他の人が参考にしていないのであれば、おそらくこの方法はとらないほうがいいでしょう。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 既存の、プッシュされていないコミットメッセージを修正するには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] masterブランチと'origin/master'が分岐している、'undiverge'ブランチの方法は?
-
[解決済み] 複数のgitコミットを元に戻すには?
-
[解決済み] Git pull - マージする前に移動または削除してください。
-
[解決済み] GitBash | origin master - rejected (fetch first) | GitHub リポジトリにファイルがない。
-
[解決済み] 既存の、プッシュされていないコミットメッセージを修正するには?
-
[解決済み] Gitのルートコミットを編集しますか?
-
[解決済み】指定したコミットを変更するには?
-
[解決済み】gitで最初のコミットを削除する方法は?
-
[解決済み] 新しい(そして空の!)「ルート」ブランチを作成する方法は?
-
[解決済み] git の最初のコミットメッセージはどのように書き直せばよいですか?