Lut*_*ker 2 git version-control environment-variables
我维护了一小部分我自己的git存储库,有时候,我想更改我存储'master'存储库的机器或目录.不幸的是,这会导致存储库的所有工作副本中断.
有没有办法在"远程"路径中为我的本地工作副本使用环境变量?
如果没有,是否有一种简单的方法可以欺骗Git(除非是一个强力sh脚本扩展变量,在推送之前将其移除并重新分配到远程位置等)在推拉时扩展变量?
您可以通过环境将配置变量传递给git,这将让您变得棘手并按照您的意愿行事.这仅在您没有设置GIT_CONFIG时才有效.在shell环境的启动脚本中,您可以设置以下内容:
GIT_ORIGIN_REMOTE=git://github.com/gitster/git.git
GIT_CONFIG_PARAMETERS="'remote.origin.url=${GIT_ORIGIN_REMOTE}'"
Run Code Online (Sandbox Code Playgroud)
确保已删除.git/config中的远程源url配置行.这将导致使用origin远程操作的所有操作git://github.com/gitster/git.git.现在,您所要做的就是在目录更改时更改启动环境脚本中的GIT_ORIGIN_REMOTE.请注意GIT_CONFIG_PARAMETERS的格式,配置选项是单引号是很重要的.如果要从环境中向Git传递多个配置选项,请遵循以下形式:
GIT_CONFIG_PARAMETERS="'<config_variable>=<value>' '<config_variable>=<value>'"
Run Code Online (Sandbox Code Playgroud)
您应该能够使用此信息来设置您认为合适的环境.我实际上没有看到这个文档,只是通过源代码找到它,所以YMMV取决于你正在使用的Git版本.参考:Git标记代码和Git解析代码
| 归档时间: |
|
| 查看次数: |
3088 次 |
| 最近记录: |