我需要git来包含父目录

时间:2015-06-09 19:04:17

标签: git github

我有一个程序分为3个包。我在其中一个软件包中设置了一个本地仓库并将其设置为推送到gitHub上的仓库。我已经开始研究第二个包,我意识到我没有用git初始化它。我想使用相同的gitHub repo来推送第二个包,但我不确定它是否会起作用,因为我已经设置了我的第一个包来推送它。我想我应该在三个包的父文件夹上完成git init,然后文件夹/包结构将出现在我的gitHub repo上。有没有一种简单的方法来解决这个问题?谢谢!

2 个答案:

答案 0 :(得分:1)

假设您的父目录名为parent,您的子目录名为package1package2package3。我们还假设package1是您拥有git存储库的目录。我只是将另一个 package1目录作为原始package1目录的子目录,并将原始package1目录的内容移入其中。然后将package2package3移动为原始package1的子项。您可以将原始package1重命名为父级。 git add --all .整个事情,你现在有一个包含所有三个目录的仓库。很酷的是,你不会丢失你移动的所有文件的历史记录; git非常聪明,可以检测重命名/移动。

答案 1 :(得分:-1)

假设我们有这样的目录结构:

    A
    |
    B
    |
    .git and other files

你应该:

cd B
mkdir C
ls | grep -v '^C$' | xargs -L 1 -I '{}' git mv -r '{}' C/
ls ../ | grep -v '^B$' | xargs -L 1 -I '{}' mv ../'{}' .
git commit -am 'Change directory structure and include parent dir'