gpt4 book ai didi

git - 可达/不可达在 git 中是什么意思?

转载 作者:IT王子 更新时间:2023-10-29 00:42:11 29 4
gpt4 key购买 nike

有点迷茫..

git community manual , 它说

The git log command can show lists of commits. On its own, it shows all commits reachable from the parent commit; but you can also make more specific requests

$ git log v2.5.. # commits since (not reachable from) v2.5

我认为 git log 本身只向您显示对当前分支所做的提交,并且提交是连续的 - 那么您如何才能让一个提交从另一个提交开始,但无法从中获取呢?

我想我要么误解了 git log 的作用,要么误解了 unreachable 的意思,或者两者都有。感谢您的帮助!

最佳答案

在 Git 中,您所做的每个提交(除了第一个)都会有一个父提交。因此,任何给定的提交(第一个提交除外)都是一个(或可能多个)其他提交的子项。您还可以在 Git 中拥有多个开发分支,这些分支在特定的祖先提交时开始或偏离。 Git 中没有任何内容规定提交必须按时间顺序或线性顺序发生,因此 git log工具需要能够处理多种查询历史记录的方式。

例如,假设我开发我的应用程序并按字母顺序提交:

---A---B---E---G
\ \
C---D F

在这个例子中,我必须在提交 A 和 E 上创建一个新分支。

如果我要运行 git log <D> (其中 <D> 是提交的 SHA),那么日志历史将如下所示:

D---C---A---

从那个提交中,只有 parent 和他们的祖先提交可以被“看到”。提交 B、E、F 和 G 在技术上从提交 D 是“不可访问的”,因为它们没有共享共同的连接父提交。

关于git - 可达/不可达在 git 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4111844/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com