我的机器上有一个名为 coursework 的文件夹,其中包含许多文件,例如:文件 1、文件 2、文件 3、文件 4、文件 5 和文件 6。在 Github 上,我想创建只有文件 1、文件 2 和文件的 repo1 3. 另外,我想用同一个课程文件夹中的文件 4、文件 5 和文件 6 创建 repo 2。
有人建议我使用子模块,但我不完全确定在这种情况下如何使用它们。有没有更简单的方法来完成这项任务?谢谢!
我的机器上有一个名为 coursework 的文件夹,其中包含许多文件,例如:文件 1、文件 2、文件 3、文件 4、文件 5 和文件 6。在 Github 上,我想创建只有文件 1、文件 2 和文件的 repo1 3. 另外,我想用同一个课程文件夹中的文件 4、文件 5 和文件 6 创建 repo 2。
有人建议我使用子模块,但我不完全确定在这种情况下如何使用它们。有没有更简单的方法来完成这项任务?谢谢!
如果文件夹选项不可用(每个 repo 一个文件夹),那么您需要定义两个具有相同工作树的存储库(与所有文件相同的文件夹)
cd /path/to/common/folder
git --git-dir=../repo1.git init .
git --git-dir=../repo2.git init .
然后对于每个 repo,您定义您的排除,以忽略 repo1 的 repo2 文件,并忽略 repo2 的 repo1 文件。
echo 'pattern1' > ../repo1.git/info/exclude
echo 'pattern2' > ../repo2.git/info/exclude
这只有在每组文件都容易被一个或几个模式引用时才有可能。
如果您必须列出要忽略的每个文件,那将无法很好地扩展。
Finally, you need to define aliases:
alias git1='git --git-dir=/path/to/repo1.git'
alias git2='git --git-dir=/path/to/repo2.git'
首先定义两个不同的远程存储库:
cd /path/to/common/folder
git1 remote add origin https://github.com/<me>/repo1
git2 remote add origin https://github.com/<me>/repo2
您可以从同一个文件夹开始添加、提交和推送。