2

更新していないにもかかわらず、gitステータスで常に「変更済み」と表示されるgitサブモジュールがあります。

# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#   (commit or discard the untracked or modified content in submodules)
#
#   modified:   MKNetworkKit (new commits, untracked content)
#

gitがそれについて考えないようにするにはどうすればよいですか? MKNetworkKit を .gitignore に追加しようとしましたが、何もしません。

4

3 に答える 3

2

私の場合、プロキシサーバーポリシーのためにリモートリポジトリプロトコルをgitからhttpsに変更したために発生しました。そこで、.gitmodule と .git/config の参照を変更します。それから私は走りgit submodule initますgit submodule update。サブモジュール リポジトリが正常に更新されました。:-)

サブモジュールのリビジョンを一致させるために、各サブモジュールを実行して最新のリビジョンにチェックアウトしcd /path/to/submodulegit checkout -f.

サブモジュールの変更を保持したいが、変更をサブモジュールのリモート リポジトリにプッシュしたくない場合はignore = dirty、.gitmodulesを追加できます。

于 2013-08-26T13:44:27.923 に答える
1

サブモジュールへのローカルの変更をリポジトリで更新したくない理由はありますか? 特定の状態のサブモジュールを期待している場合、コードを壊す可能性がありますが、リポジトリにはそれより前の状態があります。

変更をコミットしてリポジトリにプッシュすることをお勧めします。

サブモジュールをリポジトリが想定する状態にリセットする場合は、次を実行します。

git submodule update

これにより、リポジトリにチェックインされたヘッド sha にリセットされます。

更新されたリポジトリを無視し続けたい場合は、他の回答が役立ちます。

于 2013-08-26T13:49:30.227 に答える