git - 是否可以将 git remote url 设置为存储库中的子文件夹?

标签 git github

对于存储库(例如“测试”),其文件夹结构为

├── 项目1
├── Project2
├── Project3

我可以为 project1 设置远程 url 吗?

最佳答案

不,是的。也就是说,你可以设置它,但它不会做你想做的,不管是什么。

Remote 只是一个充当键的短名称:

  • origin => remote.origin.url , remote.origin.fetch
  • xyz => remote.xyz.url , remote.xyz.fetch

  • 等等。您可以将每个此类键的 url 设置为您喜欢的任何内容:https://example.com/path/to/repo/local/pathjellybeans或者任何你喜欢的,但使用这个值的东西是 git fetch , git push , 和 git ls-remote .这些都在给定的 URL 上联系另一个 Git 存储库并来回传输提交(不是文件),或者在 git ls-remote 的情况下。 ,告诉你哪些提交和分支名称可用。

    git fetchgit push传输整个提交,文件随同提交一起提供,但它们具有您在提交中指定的名称。

    但是,您可以提交仅包含 Project1 中的文件的提交。 . checkout 这样的提交将删除所有 Project2Project3文件,然后 check out 包含所有文件的提交将带回所有 Project2Project3文件。但是当你运行 git pushgit fetch ,您可能会发送和接收包含所有文件的提交以及仅包含 Project1 的任何提交。文件,所以这可能不是一个好主意。

    如果您将每个项目存储在单独的 Git 存储库中,这可能会满足您的需求。尽管我通常建议避免使用子模块,但您可以将这些存储库中的每一个都设为单个 super 项目的子模块,该 super 项目除了协调所有子模块外什么也不做;这个特殊的路径是可行的。

    关于git - 是否可以将 git remote url 设置为存储库中的子文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50451684/

    相关文章:

    git - 如何将本地 git repo 中的所有远程分支转换为本地跟踪分支

    git - 使用 git 设置一个 ftp 存储库

    git - 执行 ssh-add 并自动输入密码的脚本

    git - 使用分离分支进行部署

    ios - 支持 CocoaPod 和 Carthage

    git - 首先 "git push"到远程仓库。找不到它放置项目文件的位置

    git - 如何在执行 git pull 时显示 git 差异?

    git - "reinit"存储库的路径

    github - 使用 HEAD 和/或 origin/master 从 git repo 创建 Portfile?如何?

    git - 如何从私有(private) Github 存储库下载二进制文件?