我终于习惯了 Git,在经历了最初陡峭的学习曲线之后,我必须说它非常好(我只是想念单个文件的外部文件,但那是另一回事了)。然而,我有一个无法解决的问题:我目前正在同时处理十几个项目。它们都是相互关联的,我必须从一个跳到另一个,在这里和那里进行更改。
到目前为止一切都很好,我可以很容易地“处理”它们,我会定期提交更改等等。问题是,几个小时后,我不记得我将哪些项目推送到远程存储库。当然,我可以“cd”到每个项目的目录并发出 push 命令,但这很乏味。我想知道是否有办法使用 bash 来运行类似git find all unpushed commits in all projects in this directory
. 这样的命令将从不是Git 存储库但包含所有项目的树的目录中运行。
逻辑很简单,但实现看起来相当复杂,另外一个原因是,虽然根目录包含所有项目,但实际的 Git 存储库可以在起始目录的任何级别找到。例如:
- 项目目录
- 客户 X
- 项目 1(Git 存储库)
- 客户 U
- 项目 2(Git 存储库)
- 项目3
- 某个库(Git 存储库)
- 主题(Git 仓库)
在此示例中,只有粗体目录是 Git 存储库,因此应在其中运行检查。我知道结构看起来有点乱,但实际上很容易处理。
欢迎任何帮助,谢谢。