'关闭'和'删除'分支之间有什么区别?
我见过这两个术语在Git上被使用,但我不确定它们在Git的上下文中确切的含义是什么。它们是否都有效地指代同样的事情(即git branch -d
),还是存在一些微妙的差异需要我了解?
我可能错了,但到目前为止我的理解是,除非我在删除之前标记分支,否则一旦分支被删除,就没有留下任何证据表明它曾经存在过。正确吗?
'关闭'和'删除'分支之间有什么区别?
我见过这两个术语在Git上被使用,但我不确定它们在Git的上下文中确切的含义是什么。它们是否都有效地指代同样的事情(即git branch -d
),还是存在一些微妙的差异需要我了解?
我可能错了,但到目前为止我的理解是,除非我在删除之前标记分支,否则一旦分支被删除,就没有留下任何证据表明它曾经存在过。正确吗?
git stash save "I'm saving this branch before I delete it because yolo"
git log --graph
命令查看给定分支对其自身合并历史的了解。git stash
仅适用于工作目录和索引中的更改。对已删除分支的引用将在 Git 的 reflog 中保留一段时间。 - mipadigit stash
只对工作目录和索引中的更改进行操作。它是如何保存对分支的引用的? - mipadigit stash
创建了两个提交对象,因此它们将被引用到 stash
的时刻所指向的 HEAD。Stash
是被跟踪的引用,因此它们所引用的一切也被视为活动和不可回收。 - siridegit stash save "嘿,保存这个分支"
然后稍后 git checkout stash@{0}
假设那个存储的名字是你保存的。然后你就会把以前存储的分支作为当前分支检出。 - usumoio我后来意识到,“关闭分支”大致相当于“删除本地和远程分支的所有副本”。
不同之处在于,删除分支只是概念上关闭分支的一个技术子步骤。
关闭是指永久从团队的思维中删除分支,这掩盖了合并、放弃或任何必要的混乱细节,使其成为过去的事情。
git fsck --lost-found
一样。git reflog
记录了对存储库执行的操作,也会显示您在分支上进行了提交并离开了它。 - millimoose