对于repo(比如说“test”),其文件夹结构为
├──项目1
├──项目2
├──Project3
我可以为project1设置远程网址吗?
答案 0 :(得分:0)
不,是的。也就是说,你可以设置这个,但它不会做你想要的,无论是什么。
远程只是一个充当密钥的短名称:
origin
=> remote.origin.url
,remote.origin.fetch
xyz
=> remote.xyz.url
,remote.xyz.fetch
等等。您可以将每个此类密钥的网址设置为您喜欢的任何内容:https://example.com/path/to/repo
或/local/path
或jellybeans
或您喜欢的任何内容,但的内容使用此值为git fetch
,git push
和git ls-remote
。这些都与给定URL处的另一个Git存储库联系并来回传输提交(而不是文件),或者在git ls-remote
的情况下,告诉您可用的提交和分支名称。< / p>
由于git fetch
和git push
传输整个提交,文件会随之提交,但是他们会在提交中为您提供的名称
但是,您可以在Project1
中进行仅包含 文件的提交。检查这样的提交将删除所有Project2
和Project3
文件,然后检出包含所有带回来的文件的提交所有Project2
和Project3
个文件。但是当您运行git push
或git fetch
时,您可能会发送和接收包含所有文件的提交以及仅包含的所有提交 Project1
个文件,这可能不是一个好主意。
如果您将每个项目存储在一个单独的Git存储库中,那么这可能会让您获得所需的内容。虽然我通常建议避免使用子模块,但您可以将这些存储库中的每一个都设置为单个超级项目的子模块,该子模块除了协调所有子模块之外什么都不做;这条特殊的道路是可行的。
答案 1 :(得分:0)
是。您可以。使用GitHub的子模块:https://blog.github.com/2016-02-01-working-with-submodules/
答案 2 :(得分:0)
为了为Project 1创建远程存储库,我认为您需要首先将其设置为本地的单独存储库。正如torek指出的那样,在git中“远程”映射到“repo” - 你可以管理你的提交只包含对Project 1目录的更新,但这不是一个单独的远程。
如果将Project 1目录设置为单独的git存储库,则可以向其添加远程。要将其放入目录树,您可以: a。)在主项目树中使用符号链接指向Project 1目录; b。)将其作为子模块添加到主项目中。
您可以在文档或Mastering Git Submodules.
中获取有关子模块的更多信息答案 3 :(得分:0)
如果要克隆子目录,this StackOVerflow question / answer说“不”。
如果您正在寻找在子目录中提交,那么答案是肯定的。
更改子目录
然后执行以下命令以查看已完成的更改:
git status
您将看到所做的更改,例如:
修改:application / Email.php 修改:application / Config.php
要添加更改,请在命令行执行此操作:
git add application / *
按如下方式提交更改:
git commit -m“添加电子邮件支持应用程序”
当您使用GitHub,GitLab或类似平台时,请将更改推送到远程存储库:
git push origin master
最后一步,我假设你已经很好地配置了Git并且你知道它是如何工作的。否则,请使用this tutorial开始。