git を使用して、ローカル プロジェクトの一部として特定のフォルダーを保持できるようにしたい (ブランチなどで機能する) のに、このディレクトリをパブリック git サーバーにプッシュしたくありません。
問題のフォルダーには、プロジェクトが必要としない CLI Java の要素がいくつか含まれていますが、ライブになるブランチ作業と同期を取りたいと考えています。
これは可能ですか?
git を使用して、ローカル プロジェクトの一部として特定のフォルダーを保持できるようにしたい (ブランチなどで機能する) のに、このディレクトリをパブリック git サーバーにプッシュしたくありません。
問題のフォルダーには、プロジェクトが必要としない CLI Java の要素がいくつか含まれていますが、ライブになるブランチ作業と同期を取りたいと考えています。
これは可能ですか?
... gitにそれらを無視させることができます。
...しかし、リモートリポジトリにそれらを持っていないので、私が試したことのないヒント/アイデアを提供することしかできませんが、おそらく別のリポジトリを持つことになり、事態が少し厄介になる可能性があります.
私は(たぶん大丈夫からおそらくかなり面倒で悪い考えまで)見てみたいと思います:
git-repo
のgit-subrepo
git-filter-branch
手で繰り返しますが、私はどちらも使用しておらず、それらの欠点や落とし穴なども知りませんが、サブツリーが上記の中で断然最良の解決策であるように思えます。
残りのほとんどは私にはかなり厄介に思えますが、結局のところ、重要なのはあなたにとって何がうまくいくかだけです.
...わさびで
非常に短い答えはノーです。理由は次のとおりです。ローカルの git ブランチがサーバーにプッシュされると、例外なくそのままプッシュされます。コミットにはファイルが含まれているため、一部のファイルがプッシュされない場合、内部で git が台無しになります。この種の選択的な動作はサポートされておらず、サポートされることはないと思います。ほとんどの場合、そのようなものが必要なときに git を間違って使用しているからです。
ただし、多くの方法があります。
プロジェクトに何かが必要な場合、それがJava cliであっても、リポジトリに属しているため、私は間違いなく1を使用します。
パーティーに遅れましたが、質問はまだ良いです。必要なツールの半分だけを使用して展開の問題を解決しようとしています。目標を達成するには、展開チェーンで git と依存関係マネージャーの両方を使用する必要があります。
gitを使用すると、すべてのコードとCLI Javaのものをバージョン追跡できますが、DMを使用すると、CLI Javaのものは「dev」パッケージとしてマークされます。
本番環境にデプロイする場合は、すべての「dev」パッケージを除外する必要があります。
Java では適切なツールは Maven であるべきだと思います。PHP では Composer があり、Javascript で最も有名なのは NPM です。
私の2(遅い)セント