gpt4 book ai didi

git - 这是有效的 git 分支行为吗?

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

所以我从master创建了一个新的分支list

git:(master) git co -b list
Switched to a new branch 'list'

然后我还在 list 分支中对文件进行了一些更改。然后我改回 master,并打开那个文件。它也显示了我的更改。这是预期的吗?

也许我不清楚分支是如何工作的,但我的看法是它创建了父分支(在本例中为 master)的副本,然后我们在分支中进行修改(不反射(reflect)在 master 中)然后我们 merge 。 parent (或主人)保持原样。

如有错误请指正

最佳答案

It shows my changes there as well. Is this expected?

是的。

enter image description here

工作目录和索引/阶段区域在存储库级别共享,因此除非您提交更改,否则它们将“继续跟随”您,无论您现在在哪个分支(请参阅演示答案末尾的图片)。

只有提交它们后,您才能切换到“干净”的工作目录+干净的索引。

这就是 git 的行为方式。


Maybe I am not clear how branching works, but my perception was that it creates duplicate of parent branch(master in this case)

Git 不会创建任何重复项,当您创建分支时,它只是将对提交的引用存储在位于您的 .git/ref/heads 下的新名称下。具有分支名称的文件只包含 SHA-1,它是以前的 HEAD在你的情况下。


例如:当你开始工作时,你突然意识到没有在当前分支上工作,而是你想创建一个新的分支,而不是所有的更改都随着你“移动”到新的分支。 Git 将其数据存储在存储库中。当你切换分支时,你设置了一个新的 HEAD但工作目录 + 暂存区保持不变。


这是一个演示 - 创建一些文件然后切换到不同的分支。您可以看到文件在新分支中也“可见”。

enter image description here

关于git - 这是有效的 git 分支行为吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35386412/

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