7

gitmodules は Git で導入されたので、次のように追加するのが好きです:

[submodule "actionbarsherlock"]
path = actionbarsherlock
url = git://github.com/JakeWharton/ActionBarSherlock.git
ignore = dirty

ここで重要な部分はignore = dirty.

コマンドを使用する場合、git submodule addこの行を自分で.gitmodulesファイルに追加する必要があります。

これを今後作成するすべてのデフォルトの動作にするにはどうすればよいgit submodule addですか?

構成については知っていsubmodule.<name>.ignoreますが、デフォルトですべてに適用するにはどうすればよいですか?

4

6 に答える 6

5

そのような構成があったとしても、git 2.0.1 (2014 年 6 月 25 日) はステージングされたサブモジュールを表示することに注意してください。

Jens Lehmannによるコミット 1d2f393を参照してください ( )jlehmann

現在submodule.<name>.ignore、 and/ordiff.ignoreSubmodulesを " all" に設定すると、diff ファミリ、ステータス、およびコミットのサブモジュールの変更のすべての出力が抑制されます。

ステータスとコミットの場合、ユーザーが手動で追加して無視されたサブモジュールの新しいコミットを記録することを選択した場合でも、この変更はコミットされる変更の下に表示されないため、これは本当に混乱します。さらに厄介なことに、無視されたサブモジュールのみがステージングされた場合
、後の「git commit」は「」でエラーになります。nothing to commit

wt_statusどのような無視設定が構成されているかに関係なく、ステージングされたサブモジュールの変更を常に印刷することで、これを修正します。
唯一の例外は、ユーザーが " --ignore-submodules=all" コマンド ライン オプションを明示的に使用した場合です。この場合、サブモジュールの出力は引き続き抑制されます。
これによりgit commit、無視されたサブモジュールの変更のみがステージングされたときに " " が再び機能します。これは、そのコマンドが構造体の「コミット可能な」メンバーを使用して、wt_statusステージングされた変更が存在するかどうかを判断するためです。

その部分についてはcommit c215d3dも参照してくださいgit commit

于 2014-07-27T17:52:08.733 に答える
3

git config今日、 を使用してファイルを変更できることがわかりました。その.gitmodulesため、ファイルに移動して手動で行を追加しなくても、ignore dirty フラグを追加できます。

git config -f .gitmodules submodule.actionbarsherlock.ignore dirty

私の場合、そのコマンドを使用して、スクリプトの 2 つのステップを自動化できました。

于 2016-08-02T07:01:00.073 に答える
3

したがって、これを閉じるには、いいえ、デフォルトのオプションはありません(残念ながら)。

于 2012-11-29T11:48:21.450 に答える
1

デフォルトのオプションについてはわかりません。バイナリ状態 (無視するかしないか) であった場合、次の方法で牽引力を得ることができます。

diff.ignoreSubmodules
   Sets the default value of --ignore-submodules. Note that this affects only git diff Porcelain, and not lower level diff commands such as git diff-files.  git checkout also
   honors this setting when reporting uncommitted changes.

しかし、あなたが使用してdirtyいるように、デフォルトを設定する方法があるかどうかはわかりません。いずれにせよ、これは .ini ファイルの git エイリアスで行うことができます$PATH。サブモジュールを引数として受け取り、適切なdirty構成値を設定するスクリプトを作成してから、そのスクリプトを に追加します$PATH。それを呼び出すとgit-<command>、として利用可能になりますgit <command>

于 2012-10-31T17:44:43.620 に答える
1
[submodule "book"]
    path = book
    url = https://user@bitbucket.org/user/repo.git
    ignore = all

または使用

git config -f .gitmodules submodule.tests.ignore all
于 2022-01-14T15:27:36.950 に答える