我有一个程序分为3个包。我在其中一个软件包中设置了一个本地仓库并将其设置为推送到gitHub上的仓库。我已经开始研究第二个包,我意识到我没有用git初始化它。我想使用相同的gitHub repo来推送第二个包,但我不确定它是否会起作用,因为我已经设置了我的第一个包来推送它。我想我应该在三个包的父文件夹上完成git init,然后文件夹/包结构将出现在我的gitHub repo上。有没有一种简单的方法来解决这个问题?谢谢!
答案 0 :(得分:1)
假设您的父目录名为parent
,您的子目录名为package1
,package2
和package3
。我们还假设package1
是您拥有git存储库的目录。我只是将另一个 package1
目录作为原始package1
目录的子目录,并将原始package1
目录的内容移入其中。然后将package2
和package3
移动为原始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'