无论如何,当别人克隆回购时,是否存在我在git仓库中设置的遥控器。我可以想到两个有用的情况。
我能想到实现这一目标的唯一方法是通过旁边渠道(项目维基/网站/自述文件)说明,或者包含某种用户可以在克隆后运行的后克隆设置脚本。
我打赌有一个原因git不支持我要求的内容,如果没有的话。如果没有办法实现这个目的,有人可以帮我理解原因吗?
答案 0 :(得分:0)
这是由于git的分布式特性。你正试图强迫其他遥控器使用。然而,每个开发者可能想要不同的遥控器,例如,拥有自己的镜像,通过防火墙等。如果是一个定义良好的团队坐在同一个办公室,那么维基/网站是一个很好的方法。
将此类信息/配置放置在repo本身内对分支不友好。如果配置发生更改,则表示您需要将更改合并到所有分支中,这很麻烦。幸运的是,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