问题标签 [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 - 我可以在 reflog 中添加一行吗?
由于一个拙劣的git commit --fixup
. 我想我已经确定了源头,而且我的处境比开始时要好。但是,如果我查看 git reflog,这一系列“rebase -i”行看起来就像我之前的拙劣尝试。
我可以将自己的行添加到 reflog 吗?说一些看起来像这样的话:
git - git 获取“丢失”的提交
短版:是否可以使用“git fetch”从远程仓库获取在 git 日志中不可见的提交(HEAD 提交的一部分/下)
更长的版本:我有一个如下所示的 repo(远程副本):
远程版本通过提交 E、重置为提交 C、然后提交 D 进入此状态。
在本地,我有一个旧的该 repo 的克隆,如下所示:
当我从远程仓库获取时,我只得到提交 D,但我希望能够重置 --hard 以在我的本地仓库中提交 E。
git - 是否有索引的 reflog?
我手头没有具体的问题,但我在过去遇到过一些我不小心炸毁索引的情况,并希望我可以回到给定文件的先前状态,该状态在某个时候被索引。
一些示例是:
可以求助于挖掘git fsck --full --unreachable --no-reflog
(如建议here),我想知道是否有更方便的方法来做到这一点。
问题 :
索引是否有某种 reflog ?
git - 如何查看 Git 分支如何随时间变化(包括历史重写)?
对于给定的 repo 和分支,有没有办法查看该分支如何随时间变化,包括历史重写?例如:
4 月 1 日:提交 A -> B -> C -> D
4 月 2 日,Max Heiber——<code>git push -f: Commit A -> B -> C'
4 月 3 日,其他人——<code>git 合并功能 提交 A -> B -> C' -> D'
这就是我问的原因:
我们正在将功能合并到我们的dev
分支中,但这些更改后来会从dev
. 我们发现原因是我们的一位开发人员正在这样做git push -f
并且在他的 .gitconfig 中有这个:
[push]
default = matching
这具有强制推动他所有分支的效果,包括dev
.
花了一段时间才弄清楚这件事正在发生。在解决问题时,我们真正想要的是了解我们的历史如何以及为何发生变化。是否有可能获得这种分支视图?
git - git reflog 中长长的空白空间是什么意思?
据我所知,在这里阅读git reflog
后将显示所有头像的列表,基本上它会在您每次结帐后保留历史记录。正确的?
我不明白的是为什么头部列表之间有很长的空格?也在字里行间我看到:...skipping...
那是什么?
查看我的输出git reflog
git - 为什么git reflog会显示多批HEAD
我之前问过这个问题,但我关闭了它,因为它与git log
. 现在我有一个类似的问题,为什么 git reflog 显示“不同的 HEAD 日志列表”?
如果我使用键盘向下,我会看到从 HEAD0 一直到 HEAD 247,这是我的仓库clone
。这听起来很合乎逻辑且可以理解,但我看到另一个长列表,从 HEAD 1 到 HEAD 225,然后另一个从 HEAD0 到 HEAD 225,然后另一个从 HEAD0 到 HEAD 90。为什么有各种版本的历史?或者它们完全是另外一回事?
Bash 输出示例
为什么我不只看到:
git - Git reflog 一个特定的分支?
我可以重新登录特定的分支吗?
git reflog
显示回购的所有历史记录。但我想检查一个特定分支的历史,比如说production
。有没有办法做到这一点?
git - 有没有办法输出以前的 git 分支名称?
这个答案告诉如何结帐到上一个分支,并有助于解释@{-1}
:https ://stackoverflow.com/a/7207542/3150057
如果我在更改分支之前存储了一些代码,那么前一个分支很重要,现在我正在考虑处理存储。
有没有办法快速查看上一个分支的名称而不搜索git reflog show
最新checkout: moving from foo to bar
条目?
更多信息:
这是我忘记以前工作环境的一个解决方案,这种情况通常发生在午饭回来后。
git rev-parse @{-1}
显示将被检出的分支的 HEAD 提交,git checkout -
但不显示分支名称。
git branch --contains @{-1}
将列出具有该提交的每个分支。
将该提交的分支列为 HEAD 会很有帮助,因为它可以帮助提醒我以前的工作环境,但我不知道该怎么做。
git - Item with empty message in git reflog
I've just noticed item in my reflog with empty message. Do you have any idea what could create empty item in log, please?
git - 如何重做git中丢弃的本地更改?
让一个文件a
被 git 跟踪并在本地修改。此外,那个文件也在藏匿处。
然后:
如果你做到了git stash pop
,请看这个链接
如果你不小心做了这个git checkout a
,你就输了。
这将丢弃文件中的所有更改。
如何撤消此操作?
我没有看到这个操作reflog
。
弹出后的存储不存在(未列出),但是.git
目录中的某处是否有任何历史记录?