[英]How to take local working directory to any git revision irrespective of its branch after remote changes?
背景
我正在研究一个phing构建脚本,该脚本将输入作为目标修订版本,生产代码库需要采用该修订版本。 我在单独的暂存器目录中准备了相同的内容,然后覆盖了生产代码库。
当前逻辑
进行所需的修订-
git reset --hard $ {target.git_version}
我确信可以做一些更有效的事情。 我在想-
如https://stackoverflow.com/a/1419637/351903中所述,找出其中包含所需提交的文件(已尝试过,但无法与git branch -r --contains <commit>
-似乎我丢失了关于它的概念)。
找到分支后,仅克隆该特定分支。
然后我想到了-
仅将所有分支名称都放入我的本地存储库中(如果可能的话,这是有道理的)。
然后git branch --contains <commit>
。
还想到了-
只需使用git checkout ${target.git_version}
签出您想要的提交git checkout ${target.git_version}
。
以及为什么总是擦拭并重新克隆,只需fetch
,然后checkout
就足够了。
我的脚本“ Phingit”可以帮助您完成所需的工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.