问题标签 [git-dangling]
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 - 修剪来自 GitHub fork 的悬空提交
我在 GitHub 上创建了一个 repo。
我将提交(其提交消息包含对原始仓库中问题的引用)推送到我的 fork。
我在 rebase、rewording 等时多次推送相同的提交。
因此,我将相同代码更改的不同版本推送到我的 fork,但只有最新版本在任何分支中,而旧版本都是过时的悬空提交。
我什至从我的 reflog 中删除了悬空提交并登录我的本地克隆。
然而,悬空提交仍然在我托管在 GitHub 上的 fork 的克隆中。原始仓库中的问题仍然显示我推送的每个引用提交,即使只有最新的提交是有用的。
如何在 GitHub 上获取我的 fork 以删除那些悬空提交,从而在每个引用的问题中只显示一个提交?
git - 如何从分支 git-commit 到分离的 HEAD?
我的ref HEAD
指向分支foo
,指向提交123abc
;我有一些分阶段的工作。
如何git commit
工作,移动HEAD
到新创建的提交,但不推进分支?
(因此:离开foo
点到123abc
)
是否可以使用单个git
命令来完成?
git - git fsck 结合 --lost-found 和 --unreachable
我发现了很多关于 的有趣帖子git fsck
,所以我想对它们进行一些实验。首先,我在这个问题之前阅读的所有资料:
我从这个 repo 开始:
从r
分离HEAD
的a
. 然后我想重新定位master
,test
但我有一些未分级的更改,所以我做了:
获得(我没有显示r
,但它仍然存在):
接下来我运行:
第一个问题
为什么只有--lost-found
版本返回r
提交?为什么不可达之间显示c
和d
之前?rebase
我以为我理解阅读链接问题的区别,但我显然遗漏了一些东西。我仍然有完整的 reflog,但我猜你不需要它,因为所有提交(除了与 相关的stash
)都被引用了。
我知道我应该创建另一个帖子,但第二个问题是部分相关的。我出于好奇尝试了:
第二个问题
结合这两个选项,我得到了所有无法访问的提交(而不仅仅是 and 的--lost-found
并集--unreachable
),这是非常出乎意料的。为什么它会这样?