質問

問題点: 追加のファイル ./shells/smallApps/* にGitで ./.git/ いただけない場合には、ファイルで ./.git/info/exclude もので .gitignore ファイルとする。

この質問は このトレッド の問題が解かれていない。

実行し

$git status                                                                                                                                          ~/bin
# On branch master
nothing to commit (working directory clean)
$git ls-files                                                                                                                                        ~/bin
Screen/dev/vim-open.screen
--- cut ---

したがっていないファイル"貝殻/smallApps/*"でGit

$ls shells/smallApps/                                                                                                                                ~/bin
devTodo     extract     
                                                                                                                                             ~/bin

したいとして追加しようとすると私のGitによる走行

$git add shells/smallApps/devTodo shells/smallApps/extract
fatal: Path 'shells/smallApps/devTodo' is in submodule 'shells/smallApps'
$git add .         

したがって、ファイルを追加しっGit何らかの理由など

$git status                                                                                                                                          ~/bin 
# On branch master
nothing to commit (working directory clean)

いないファイルです。git/html/を除くものです。gitignoreファイルとする。

どのような最後の警告を意味するのか。

役に立ちましたか?

解決

更新

が一般的理由Gitを無視してファイル: gitignoresubmodules.

具体的には、以下の条件の原因となりまGitを無視するファイルの場合git add'が呼び出されます:

  1. ファイルのパターンに一致す $GIT_DIR/exclude.
  2. ファイルのパターンに一致する .gitignore ファイル内で呼ぶ。
  3. ファイルのパターンに一致するユーザー固有の .gitignore ファイルを指定する'git config --global core.excludesfile').
  4. ファイルの一部であるサブモジュール.

強制'git add'には、無視されるファイル:

チェックできるのが特定のファイルは無視されますメソッドを呼び出'git add full/path/to/file'.

のmanページと "の場合は、無視されるファイルが明示的に指定されたコマンドラインは、コマンドは失敗するリストは無視されます。"

の場合はファイルは無視され、すでに追加される"git add --force full/path/to/file'.

指示をサブモジュール参考:

その中には以前の答え shells/smallAppsサブモジュール ポート.

の場合はファイルの一部であるサブモジュールは、状況はさらに複雑になります。を変更することはできませんの内容のサブモジュール内からの主なプロジェクト.

場合は解消したいサブモジュール参照が直接トラックのファイルのメインレポ-レートがあり、階段を実施することが必要である.はできませんで削除すgit"ディレクトリからのサブモジュール.がリンクとメインのリポジトリのサブモジュール:

  1. .gitmodules ファイルをお呼ぶ。
  2. エントリの .git/config お呼ぶ。
  3. 他の犯に関するサブモジュールメインポンの歴史。

たこ 関連で質問, を行うには、次の手順を完全に除去し、サブモジュール:

注意:ば他の支店によりこのサブモジュール、その後除去できる腐敗したサポート!これは危険な動作---使用は注意を怠らないこと。

  1. 削除は、当該回線からの .gitmodules ファイルです。
  2. 削除は、当該部門から .git/config.
  3. git rm --cached path_to_submodule (末尾のスラッシュ).
  4. コミット

ファイルのサブモジュールはuntrackedいと判断した場合は保または削除については、任意の一点に注意先。

必要がない場合にこれらのファイルは、単に削除します。

警告: 長期保存を希望する場合これらのファイル(いがい)、手動で削除する .git ディレクトリからフォルダにサブモジュール:

  1. cd path_to_submodule
  2. rm .git
  3. cd ..
  4. git add path_to_submodule
  5. git status
  6. git commit

更新:

要求さらに情報:

めのデバッグ、この問題ください郵送により出力の完全なセッションのコマンド:

cd to the top-level directory in your repo
ls -al
cat .git/config
find . -name ".git*"
git status
git add editors
git add shells
git status

に基づく記述がどのようにしているのかが見れることに期待してい:

  • No .gitmodules ファイルでもどこでも
  • 一つだけ .git ディレクトリのルートのレポ-レート)
  • No .git ディレクトリ editors/vim/vimdoclet
  • No .git ディレクトリ shells/smallApps

他のヒント

んん git add いについて何かsubmodules.い入れ子のGitリポジトリ?い:

$ find . -name .git

どのように多くの .git ディレクトリに上場しているのですか?がある場合は、そん入れ子になった複数のリポジトリとその原因となる恐れがありますのでこの現場は混乱していた。

まだ安定していませんの投稿この質問にGitのメールリストgit@vger.kernel.org).する取り組みは数多くありましたが迅速かつ完全に応じます。

いうポストが非常に大切である:

  • 説明のしようとしている。
  • 記述問題を使いました。
  • 完全なセッションのログを示す:
    • cdのトップレベルのディレクトリにおrepo
    • ls -al
    • cat .git/config
    • find . -name ".git*"
    • git status
    • git add editors
    • git add shells
    • git status
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top