使用Gemfile的ref选项时,Bundler是否搜索仓库所有分支查找提交?
使用Gemfile的
ref选项时,Bundler会在仓库所有分支搜索提交吗? gem 'rails', github: 'rails', ref: 'a9752dcfd15bcddfe7b6f7126f3a6e0ba5927c56'
举个例子,如果提交哈希a9752dcfd15bcddfe7b6f7126f3a6e0ba5927c56不存在于main或master分支,但存在于feature1这类其他分支(且不是该分支的最新提交,因此branch:选项不适用),Bundler仍能找到该提交吗?
Bundler用ref指定提交哈希时,不会受限于特定分支——只要这个提交哈希在目标远程仓库里存在(不管它属于哪个分支、是不是分支的最新提交),Bundler都能直接定位到对应的提交。
因为Git的提交哈希是全局唯一的身份标识,只要远程仓库的Git数据库里存有这个哈希对应的提交记录,Bundler就可以通过Git直接拉取该提交的代码,完全不需要依赖分支信息。哪怕这个提交只存在于某个小众分支,甚至是已经被删除的分支(只要提交没被Git垃圾回收机制清理),只要哈希有效,就能正常完成安装。
内容的提问来源于stack exchange,提问作者MicFin
相关产品推荐
相关产品推荐

