gpt4 book ai didi

git - 如果它们指向 Git 中的相同提交,则基于分支 foo 或 bar 创建分支之间有什么区别吗?

转载 作者:太空狗 更新时间:2023-10-29 12:52:13 25 4
gpt4 key购买 nike

比如说,如果从 master 分支,我们创建一个 foo 分支和一个 bar 分支。

git checkout -b foo master
git checkout -b bar master

现在假设,如果我们基于foobarmaster 创建一个分支wah:

git checkout -b wah foo

git checkout -b wah bar

git checkout -b wah master

那么 wah 是基于 foobar 还是 master 有什么区别吗?是否有任何 Git 命令可以判断它是基于 foobarmaster

最佳答案

没有区别。分支只是指向提交的引用。我没有检查源代码,但我认为可以公平地假设每当您创建分支时,引用最终都会取消引用到提交对象中。

因此,当你这样做的时候

git branch foo master
git branch bar master

分支 foobarmaster 都引用同一个提交对象。

因此,以下内容也是等价的,因为 wah 最终也将引用相同的提交对象:

git branch wah master
git branch wah foo
git branch wah bar

验证分支引用只是提交上的标签

您可以通过简单地获取每个分支的第一个日志条目来轻松验证这一点(记下每个分支的提交 sha ID):

git log --pretty=oneline -1 master
952e133ff1d1616f068ca524af9f323f6e7f8b7a Add Bash alias for `pbcopy` (OS X)

验证这一点的另一种方法是查看引用文件本身。每个人都将包含一行,其中包含他们当前引用的提交 sha:

cat .git/refs/heads/master
952e133ff1d1616f068ca524af9f323f6e7f8b7a

cat .git/refs/heads/foo
952e133ff1d1616f068ca524af9f323f6e7f8b7a

补充阅读

关于git - 如果它们指向 Git 中的相同提交,则基于分支 foo 或 bar 创建分支之间有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23585397/

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