私はついにGitに慣れてきました。最初の急な学習曲線の後、それはかなり良いと言わなければなりません(単一ファイルの外観が恋しいだけですが、それは別の話です)。しかし、私には解決できない問題があります。私は現在、同時に12のプロジェクトに取り組んでいます。それらはすべて相互接続されており、私は一方から他方にジャンプして、あちこちで変更を加える必要があります。
これまでのところすべて良いですが、私はそれらを非常に簡単に「ジャグリング」でき、定期的に変更をコミットします。問題は、数時間後、どのプロジェクトをリモートリポジトリにプッシュしたかを思い出せないことです。もちろん、各プロジェクトのディレクトリに「cd」してプッシュコマンドを発行することはできますが、面倒です。bashを使用して、のようなものを実行する方法があるかどうか疑問に思いましたgit find all unpushed commits in all projects in this directory
。このようなコマンドは、Gitリポジトリではないが、すべてのプロジェクトのツリーが含まれているディレクトリから実行されます。
ロジックは単純ですが、実装は非常に複雑に見えます。ルートディレクトリにはすべてのプロジェクトが含まれていますが、実際のGitリポジトリは開始ディレクトリのどのレベルでも見つけることができるためです。例えば:
- プロジェクトディレクトリ
- 顧客X
- project1(Gitリポジトリ)
- 顧客U
- project2(Gitリポジトリ)
- project3
- somelibrary(Gitリポジトリ)
- テーマ(Gitリポジトリ)
この例では、太字のディレクトリのみがGitリポジトリであるため、チェックはそれらの内部で実行する必要があります。構造が少し乱雑に見えることは承知していますが、実際には非常に扱いやすいです。
どんな助けでも大歓迎です、ありがとう。