5

既存のレポへの末尾の空白など、コミットされた空白の問題を修正する最も簡単な解決策は何ですか?

4

3 に答える 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 に答える