表題の通り、ローカルリポジトリに存在しないファイルがgit diffで表示されてしまいます。
以下のようなブランチモデルで
* develop * feature/A
それぞれのローカルブランチに、同一フォルダ・ファイルが配置されているのにもかかわらず、
develop
1ls -a 2./ ../ .git/ test.txt test2.txt
featureA
1ls -a 2./ ../ .git/ test.txt test2.txt
git diff --stat develop feature/Aで差分を見ると関係のない差分が表示されてしまいます。
.github/workflows/{deploy2.yml => deploy1.yml} | 8 ++++----
ちなみに、feature/Aをdevelopにマージすると、コンフリクトして関係のないフォルダ(.github)が復活してしまいます。
$ git checkout develop $ git merge feature/A $ ls -a ./ ../ .git/ .github/←なぜか追加される test.txt test2.txt
■補足情報
.githubフォルダはリモートリポジトリで管理しており、sparse-checkoutの設定によりローカルリポジトリにpullできないようにしております。
/* !.github/
こちらの原因がわかる方がいらっしゃいましたら、ご教示いただけますと幸いです。
git diff --stat develop feature/A
は、どこのディレクトリで実施していますでしょうか?
ご質問ありがとうございます。
こちら、ローカルのdevelopブランチ及びfeatureブランチで実施しております。どちらも同じように差分が表示されてしまいます。
「sparse-checkoutの設定」とは具体的に何をどのようにされたのでしょうか? 十分にはわかっていませんが、spase-checkout は"取ってくるもの"を指定できますが、"取ってこないもの"を指定できる機能もあるんですか(分かっておりません)? 「!.github」という記述を示されていますが、.gitignore の記述であるかのように想像したのですが、そうではないのでしょうか?
追記:ごめんなさい、他所で調べました。"取ってこないもの"も指定できるんですね。とすると無駄なコメントでした。すみません。
引き続きすみません。「!.github/」と(最後にスラッシュ)を書くべきかと想像したのですが、どうでしょうか。
こちら記載に誤りがございました。おっしゃる通り「/」が必要です。
ご指摘ありがとうございます。
(実際のファイルには「/」がついております)
回答2件
あなたの回答
tips
プレビュー