適当なディレクトリを作り以下を走らせて複数のコミットをつくりました。
bash
1git init 2touch readme.md 3echo "hoge" >> readme.md 4git add -A 5git commit -m "init" 6 7mkdir ignore_wasure 8touch ignore_wasure/file1 9touch ignore_wasure/file2 10git add -A && git commit -m"ignore_wasureを生成" 11touch file3 12git add -A && git commit -m"コミット" 13echo "hogehogehoge" >> ignore_wasure/file2 14git add -A && git commit -m"ignore_wasure内を編集" 15
その後、ignore_wasure/file2だけをインデックスから外すべく以下を実行しました。
bash
1git filter-branch --force --index-filter 'git rm --cached -rf --ignore-unmatch ignore_wasure/file2' --prune-empty -- --all
するとindex-filterにて--cachedを指定しているにも関わらず処理完了後にはワーキングツリーからignore_wasure/file2が消滅してしまっていました。
この原因がなぜだかわかる方がいらっしゃったらご教示願いたいです。
(etc 目指していたのは、全てのコミットからignore_wasure/file2のインデックスが外されており、ワーキングツリーにはignore_wasure/file2が残っているという状態でした。)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。