我有一个源代码树(PHP应用程序),它在某个时间点从git存储库中删除。
我可以在repo中找到匹配的版本(源树中存在的最后一次提交)吗? - 如果对这个导出的,未跟踪的源代码树版本进行了一些小修改,该怎么办?
如果正确定义了术语,则应该可以。是否有工具或内置git实用程序来解决这个问题?
答案 0 :(得分:3)
可能有更好的解决方案,但您可以将导出的源代码树复制回git工作目录(不提交),然后与for循环中的先前版本进行比较。这是一个关于如何使用bash脚本的示例:
for ((i=1; i<100; i++)); do
echo $i
git diff --shortstat HEAD~$i
done
然后查找最小数量的更改。
答案 1 :(得分:0)
我尝试过我的一个项目。我做了
rsync -avz [GIT_REPO_BARE] local-copy
然后我cd
进行本地复制,然后运行git log
。幸运的是,我有一些提交尚未推送到远程git仓库,所以我推了他们。然后我简单地查找了之前使用git log
找到的提交ID的提交。那是你要找的吗?