我终于开始习惯使用Git了,经过最初的陡峭学习曲线后,我必须说这很不错(只是我想念单个文件外部引用,但那是另一个故事)。然而,我有一个问题无法解决:我目前正在同时处理十几个项目。它们都相互关联,我必须在其中一个和另一个之间跳转,并在此处进行更改。
到目前为止还好,我可以相当轻松地“把握”它们,我定期提交更改等。问题是,几个小时后,我不记得我推送到远程仓库的哪些项目。当然,我可以“cd”进入每个项目的目录并发出推送命令,但这很繁琐。我在想是否有一种方法,使用bash来运行类似于git查找所有未推送的提交,在此目录中的所有项目
。这样的命令将从不是Git存储库的目录中运行,但其中包含所有项目的树。
逻辑很简单,但实现起来似乎非常复杂,因为尽管根目录包含了所有项目,但实际的Git存储库可以在起始目录的任何级别上找到。例如:
- projects目录
- 客户 X
- project1(Git存储库)
- 客户 U
- project2(Git存储库)
- project3
- somelibrary(Git存储库)
- theme(Git存储库)
在此示例中,只有粗体字的目录是Git存储库,因此应在其中运行检查。我知道这个结构看起来有点乱,但实际上很容易处理。
任何帮助都受到欢迎,谢谢。
cd -
切换到上一个目录,你可以将循环体作为子shell来执行。 - user1655874find
+git
,无需使用 shell:find . -name .git -type d -print -exec git --git-dir={} --work-tree={}/.. cherry -v \;
- Ruslangit pull
操作。请访问https://github.com/eighty4/maestro。 - undefined