質問

この質問に答えはこちら

を変更したいので何かと最初のコミットのプロジェクトを出すべく以降を設定します。はありません。

っても載っ原eメールにコメントのソースコードをていただきたいと思いますように変更してい迷惑メールが多くなりボットから割り出しGitHub.

役に立ちましたか?

解決

が述べたように、 ecdパルマ 下に, git 1.7.12+ (2012年8月)オプションを強化しました --root のために git rebase:

"git rebase [-i] --root $tip" を使用して、" に至るすべての歴史を書き換えることができるようになりました。$tip" ルートコミットまで。

その新しい動作は当初、 ここで議論しました:

個人的には「git rebase -i --root" を必要とせずに機能するようにする必要があります"--onto」を選択すると、歴史の最初のものでも「編集」できます。
歴史の始まり付近では人々が書き換える頻度はそうでない場合に比べてずっと低いため、誰も気にしなかったのは当然です。

パッチがフォローされました.


(元の回答、2010 年 2 月)

で述べたように、 Git に関するよくある質問 (この それで質問)、アイデアは次のとおりです。

  1. 新しい一時ブランチを作成する
  2. を使用して、変更したいコミットまで巻き戻します git reset --hard
  3. そのコミットを変更します (現在の HEAD の先頭となり、任意のファイルの内容を変更できます)
  4. 以下を使用して、変更されたコミットの上にブランチをリベースします。

    git rebase --onto <tmp branch> <commit after changed> <branch>`
    

重要なのは、削除したい情報が、後のコミットによってファイル内の別の場所に再導入されないようにすることです。それが疑われる場合は、使用する必要があります filter-branch --tree-filter そのファイルの内容に重要な情報がコミットに含まれていないことを確認します。

どちらの場合も、最終的にはすべてのコミットの SHA1 を書き換えることになるため、内容を変更するブランチをすでに公開している場合は注意してください。プロジェクトがまだ公開されておらず、リライトしようとしているコミットに基づいて他の人が作業を行っていない限り、おそらくこれを行うべきではありません。

他のヒント

あなたは、href="https://raw.github.com/git/git/master/Documentation/RelNotes/1.7.12.txt"> 1.7.12リリースの注意

$ git rebase -i --root

git rebase -iあなたはの便利なルートがコミットを除いての以前のコミットを、編集することができます。次のコマンドを使用すると、手動でこれを実行する方法を示します。

# tag the old root, "git rev-list ..." will return the hash of first commit
git tag root `git rev-list HEAD | tail -1`

# switch to a new branch pointing at the first commit
git checkout -b new-root root

# make any edits and then commit them with:
git commit --amend

# check out the previous branch (i.e. master)
git checkout @{-1}

# replace old root with amended version
git rebase --onto new-root root

# you might encounter merge conflicts, fix any conflicts and continue with:
# git rebase --continue

# delete the branch "new-root"
git branch -d new-root

# delete the tag "root"
git tag -d root

を編集したい最初のコミットてみるのも良いでしょうgit rebase、修正、コミットと同様に、このポスト:どのように変更特定のコミットgit?

する場合がございますのでお変更の為、原料メール、フィルター-支店を最も良い選択である。がどのように変更メールアドレスをグローバルに書 Pro Git, だがこのリンク有 http://git-scm.com/book/en/Git-Tools-Rewriting-History

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top