0

我的机器上有一个名为 coursework 的文件夹,其中包含许多文件,例如:文件 1、文件 2、文件 3、文件 4、文件 5 和文件 6。在 Github 上,我想创建只有文件 1、文件 2 和文件的 repo1 3. 另外,我想用同一个课程文件夹中的文件 4、文件 5 和文件 6 创建 repo 2。

有人建议我使用子模块,但我不完全确定在这种情况下如何使用它们。有没有更简单的方法来完成这项任务?谢谢!

4

1 回答 1

0

如果文件夹选项不可用(每个 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

您可以从同一个文件夹开始添加、提交和推送。

于 2020-06-20T19:56:42.353 回答