既存のレポへの末尾の空白など、コミットされた空白の問題を修正する最も簡単な解決策は何ですか?
質問する
1412 次
3 に答える
4
git-docs で発見されたばかりです(テスト対象):
git-rebase --whitespace=fix
オプションになることもあります。
見る :
于 2014-08-21T13:17:17.457 に答える
3
リポジトリに末尾の空白を含む既存のコミットがある場合は、それらのコミットを変更する (履歴を書き換える) 必要があります。これは、そのリポジトリが既にプッシュされ、他のユーザーによってクローンされている場合は面倒です。
ただし、それがオプションである場合は、gitoliteのようなスクリプトを使用できます。
#!/bin/bash
# from doener (who else!)
# to be called as an index-filter
if git rev-parse --quiet --verify $GIT_COMMIT^ >/dev/null
then
against=$(map $(git rev-parse $GIT_COMMIT^))
git reset -q $against -- .
else
# Initial commit: diff against an empty tree object
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
git rm --cached -rfq --ignore-unmatch '*'
fi
git diff --full-index $against $GIT_COMMIT | git apply --cached --whitespace=fix
これを次のように実行します。
git filter-branch --index-filter '. ~/git-scripts/ws-fix.sh'
于 2013-08-06T09:31:16.180 に答える