Git 与开发团队共享远程设备

Git 与开发团队共享远程设备,git,Git,当其他人克隆了git repo时,我在git repo中设置的远程设备是否可以共享。我可以想出两个这样做会有帮助的例子 如果您使用git子树,任何想要更新子树文件夹的人都需要知道您使用的是什么远程服务器 如果你有一个项目。似乎这将有助于任何加入您的项目的人看到您确实是作为一个分支开始您的项目的,他们可以看到它从何而来 我能想到的实现这一点的唯一方法是通过侧频道(project wiki/website/README)或包含某种用户可以在克隆后运行的克隆后设置脚本来说明这一点 我打赌git不支持我

当其他人克隆了git repo时,我在git repo中设置的远程设备是否可以共享。我可以想出两个这样做会有帮助的例子

  • 如果您使用git子树,任何想要更新子树文件夹的人都需要知道您使用的是什么远程服务器
  • 如果你有一个项目。似乎这将有助于任何加入您的项目的人看到您确实是作为一个分支开始您的项目的,他们可以看到它从何而来
  • 我能想到的实现这一点的唯一方法是通过侧频道(project wiki/website/README)或包含某种用户可以在克隆后运行的克隆后设置脚本来说明这一点


    我打赌git不支持我的要求是有原因的,如果它不支持的话。如果无法做到这一点,有人能帮我理解原因吗?

    这是由于git的分布式特性。您正试图强制其他远程用户使用。但是,每个开发人员可能需要不同的远程设备,例如,拥有自己的镜像、通过防火墙等。如果是针对位于同一办公室的定义良好的团队,那么wiki/网站是一个不错的方法

    将此类信息/配置放在回购协议中本身并不十分友好。如果配置发生更改,则意味着您需要将更改合并到所有分支中,这很麻烦。幸运的是,git允许在同一个存储库中有多个历史DAG。诀窍是为配置创建一个孤立分支:

    git checkout --orphan config
    # you have empty working copy
    vi init.sh # write init script
    git add init.sh
    git commit -m "Write init.sh"
    git checkout master # back to work
    
    然后,您可以使用
    git show
    命令提取脚本,即使它未在您的wc中签出,例如:

    git show config:init.sh | sh # runs the init.sh shell script
    

    你对愚蠢的内容跟踪器的要求太高了™。我想最接近的是子模块。我不知道孤立分支的概念。。。太酷了!