我知道这已经被多次回答,但我是git的新手,而且我特别密集,所以我可以使用一些详细的帮助。
我有一个主目录谈论我的编程经验的网站(显然这是一个非常短的页面,因为我是git的新手)。它有多个子目录,每个子目录都是一个音高页面和我所完成项目的描述。我正在试图弄清楚如何最好地组织这个并将其推送到github。 This solution看起来就像我想做的那样,但我似乎无法理解如何做到这一点。
我的目录结构如下所示:
www/apps/
apps-files
spark/
spark-files
minder/
minder-files
我希望每个项目页面都有自己的README.md,并且希望能够向每个项目页面的github页面发送超链接。如果它有所不同,我也会为这些网站描述的每个项目分别进行回购。
我已经创建了其中一个页面的大部分内容,但尚未创建git仓库或提交任何内容。
答案 0 :(得分:1)
如果其他人遇到此问题,我会简单地逐步介绍我所做的事情:
在Github中,我为apps /,spark / and minder /创建了新的远程存储库。
在www / apps / spark /我做过:
git init
git add --all
git commit -m "initial commit"
git add remote origin <github web address for spark repo>
git push -u origin master
然后我cd
转到www / apps / minder并使用管理员回购再次完成所有操作。我验证了所有内容都正确地托管在github上,然后在www / apps中我使用rm -rf spark && rm -rf minder
完全删除了这两个文件夹。接下来,我使用apps repo在根www / apps文件夹中执行了上述相同的五个步骤。
最后,在www / apps中,我运行了以下
git submodule add <github web address for spark repo> spark
git submodule add <github web address for minder repo> minder
git submodule init
git submodule update
这使我在本地系统上找到了问题中列出的文件夹布局。要更改spark或minder,我只需确保从他们的文件夹中进行推送,当我推送应用程序时,我需要记住在需要时推送子模块。这种方法的缺点是minder和spark在我的github帐户中托管了两次,既作为单独的回购,也作为内部应用程序,但我没有遇到问题。
我还创建了一个dev文件夹,因此我可以在同一系统上托管测试和生产代码。这就是这样的:
cd dev
git clone <github web address for apps repo> apps
cd apps
git submodule init
git submodule update
git checkout dev
cd minder
git checkout dev
cd www/test/apps/spark
git checkout dev
现在我有两个并行的文件夹树(因此有两个并行的网站,因为这是在家庭服务器上),在测试文件夹中我所有的推送都转到了dev分支:
www/apps/
apps-files
spark/
spark-files
minder/
minder-files
www/test/
apps/
apps-dev-files
spark/
spark-dev-files
minder/
minder-dev-files