问题标签 [git-reflog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 使用 --grep-reflog 有什么好处?
我在文档中注意到您可以指定参数--grep-reflog
--grep-reflog=<模式>
将提交输出限制为具有与指定模式(正则表达式)匹配的 reflog 条目的输出。如果有多个 --grep-reflog,则选择其 reflog 消息与任何给定模式匹配的提交。除非使用 --walk-reflogs,否则使用此选项是错误的。
我有点想澄清这与--grep
. 查看通过git reflog
s 进行的操作有什么好处?是否只是为了让您知道可用的内容,git reflog
所以如果您想访问它,您可以吗?
git - 备份本地 Git 存储库(包括注释、存储、reflog)并在另一台机器上恢复它
如标题所示,如何完全备份本地 Git 存储库及其状态,在另一台机器上恢复它,并使新存储库处于与前一台机器上的状态完全相同的状态?
我主要关心的是不要丢失本地的东西,比如:
- 藏匿处(这是最重要的事情)
- reflog(我想保留我的操作历史)
- 笔记
- 其余的(可能)
编辑
我已经尝试压缩我的本地目录,包括隐藏文件.git
,然后在另一台机器上恢复它。
在那之后,我得到的git status
是:
- 更改文件的巨大列表(我不认识更改)
- 存储库位于分离的 HEAD中
如果所有内容都在.git
文件夹中,为什么我将 HEAD 分离并且我没有得到旧存储库的相同指向?
所有这些修改/删除/类型更改的文件是什么?
似乎这.git
并没有真正从旧存储库中获取所有内容。
git - Git:如何恢复强制推送
如果我使用不是最新的代码对服务器进行强制推送,是否可以将我的主分支恢复到其初始状态?我尝试了 reflog 命令,但它不起作用,因为它只跟踪本地提交。
谢谢
git - git 在哪里存储它的 reflog?
我知道压缩版本reflog
存储在 .git/packed-refs
但实际 reflog 的位置以及当一种类型时 git 如何恢复历史记录git reflog
?
git - 如何知道特定分支基于哪个分支
我git reflog
用来获取有关分支的信息,因为我需要知道传递给命令的分支的名称。
例如,在使用时git rebase --onto master
,我需要知道master
分支用于变基。问题是reflog
没有说明使用了哪个分支。相反,它显示了此分支重新基于的提交的 SHA。
检查以下 ref-log 输出(分支被重新定位到master
)
现在我需要知道这个提交 SHAa9d523f1a73fe2cd2857ee3d013463069fe51c3d
在 rebase 时属于哪个分支。即使从那时起主人已经继续前进,这也应该有效。
我尝试git log
了多个选项,但它不是在特定时间返回分支的当前状态。
我怎样才能得到这些信息?如果无法获得确切的引用(master
在这种情况下),也许当时可以获得此提交的所有引用?
编辑
基于@Jubobs 提交,也许我可以将问题改写为:在变基时哪些引用与此提交相关联
git - 只需获取我在 git 中当前分支上发生的合并列表
Git中有什么方法可以列出所有分支合并提交吗?我试过了git reflog
,它确实显示了提交和
使用(合并)字符串是否足以检测分支合并?
git - 如何将 HEAD 移回之前的位置?(分离的头)和撤消提交
在 Git 中,我试图squash commit
通过合并另一个分支然后HEAD
通过以下方式重置到以前的位置来做:
但我需要走出这一步。如何将 HEAD 移回之前的位置?
23b6772
我有需要将其移至的提交的 SHA-1 片段 ( )。我怎样才能回到这个提交?
git - 查看过期的 reflog 日志
有什么方法可以查看过期的 reflog 吗?我一直在保持几个月前在本地分支上所做的一些本地提交,并且我通过经常变基来使其与我们的远程分支保持同步。不知何故,我丢失了该分支的所有本地提交,并且无法恢复它,因为 git reflog 没有显示超过某个日期的日志。
git - 导出 git repo 并包含 reflog 的最佳方式
我想保存并共享一个 git repo,其中包含所有内容,包括当前reflog
状态。最好的方法是压缩.git
目录吗?或者有没有更好的方法?
git - 你能备份 git reflog 吗?关于防止代码丢失的最佳实践的建议
git reflog
显示所有活动,甚至压缩提交等(如果我错了,请纠正我)。
是否有 git CLI 命令来备份 git reflog?
显然,如果我删除了本地版本的存储库,我的 reflog 就会丢失(如果我错了,请纠正我)。
我想知道我是否可以git push
为了安全或类似的事情?
如果不是,我应该采取什么方法来防止 reflog 丢失?
更新:作为对 Jiri Kremser 的回应,如果我在恢复后.git/logs
可以备份到 reflog 中的任何提交吗?git reset --hard