如何将父目录中的所有目录推送到GIT中

时间:2016-06-23 19:40:05

标签: git git-commit

以下是名为“Code”的目录的目录结构。

Directory of C:\Name\Code
06/23/2016  12:15 PM    <DIR>          .
06/23/2016  12:15 PM    <DIR>          ..
06/23/2016  12:16 PM    <DIR>          Cpp
06/15/2016  06:49 PM    <DIR>          Java
06/22/2016  04:19 PM    <DIR>          Python
06/23/2016  12:17 PM    <DIR>          OtherStuffs

我的Git帐户有Cpp和Java存储库。我曾经单独去Cpp和Java目录并将其提交给Git。因此,Cpp和Java中的所有内容都会提交给我的Git存储库Cpp和Java。现在我添加了更多目录。我可以通过在每个目录上单独执行“git init”将这些目录同步到Git。

是否有更简单的方法将我的父目录“Code”中的所有目录推送到git而不创建名为Code的存储库?

我不想在我的Git存储库中创建父目录“Code”。我只想将所有子目录推送到Git中相应的子目录。像,

cd Code
git init
git add --all
git commit -m "Pushing everything inside Code"
git remote add origin https://...   // Where should I make this point to ? I do not have "Code" repository in my Git
git push origin master

1 个答案:

答案 0 :(得分:1)

问题是您的Code存储库未初始化为git,也未与存储库链接。因此,实际上不可能只从代码存储库中键入git push并期望它推送它的子目录。

我建议你做的最好的事情是设置一个bash(或zsh,取决于你使用的是什么)别名cd进入每个目录并单独推送。

alias gpa='cd ~/path/to/Code/Java && git add . && git commit -m "autocommit" && git push -u origin master && cd ~/path/to/Code/Cpp && git add . ...并以&& cd ~/path/to/code

结束

然而,git的要点是能够进行原子提交并确切地知道正在改变的内容 - 因此,确实没有理由去做你正在尝试做的事情。 。我会继续像往常一样使用您的流程 - 除非您真的需要为每个不同的文件夹设置单独的存储库。简单地拥有Code回购会不会更有意义吗?