質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Q&A

解決済

1回答

1122閲覧

gitで特定のコミット内容を改変したい

退会済みユーザー

退会済みユーザー

総合スコア0

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

0グッド

0クリップ

投稿2018/12/14 14:43

gitで他人に公開したくない情報をファイルに書いてしまい、さらにそれをコミットしてしまいました。それから気づかずにコミットを続けてしまい、かなり過去の方にその問題のコミットがある状態です。
その公開したくない情報のところを意味のない文字列などにして、gitで見れなくしたい(git show などで)のですが、どうすればいいでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

問題となるcommit(以下A)以降のすべてのcommit hashが書き換わることになります。

以降Aの次のcommitをBと呼びます。

まずAの問題となる編集を取り消すcommit(以下C)を作成します。

つぎにA以降すべてを対象としてgit rebase -iを行います。

テキストエディタが開くと思うので

  1. A->C->B->...の順番に並び替え
  2. Cをp/pickではなくs/squashに書き換え
  3. 保存

あとはAとCをくっつけたcommitのmessageをどうするか決めるテキストエディタが開くと思うので適宜書き換えて保存すればrebaseが実行されます。

remoteにAがすでに上がっている場合はforce pushが必要です。


なおGithubをremoteに選んでいる場合、レポジトリを一度消さないとforce pushしてもAにたどり着く手段が存在するのでご注意を。

投稿2018/12/14 15:31

yumetodo

総合スコア5850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/12/14 22:58

無事に改変できました。 git rebase -i で squash しても改変できない状態が出たのですが、そのあと再び squash でコミットをまとめたらうまくいきました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問