gpt4 book ai didi

git 状态与获取(或 pull ): How to know what "up-to-date" means (without changing anything)

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

我做了一个git status,它说
你的分支是最新的'origin/master'。

但无论如何我都做了一个git pull 突然它说
14 个文件已更改,...

我觉得自己被骗了。我怀疑 git 没有坏。这一定意味着我不明白什么。

我读了一点书 herehere并学习两种非破坏性的方式来询问我是否是最新的

git status -uno

git fetch --dry-run

因为 fetchpull 的一部分,我假设这两个会像前两个一样不同意。

从根本上让我感到困惑的是,我认为“最新”的意思是:“嘿,我们已经比较了这个存储库(主分支)的两个副本,它们是相同的”

好的,但是如果我可以用两种不同的方式提出问题并得到两个不同的答案,当每个问题都是关于比较两个不同的副本时,这是否意味着必须至少有三个存储库副本?

如:

A == B != C

我知道有master的远程副本
我知道有我本地的 master 副本

这第三件事到底是什么?

最佳答案

当 Git 说 Your branch is up-to-date with 'origin/master'它正在比较您本地的 master针对名为 origin/master远程跟踪 分支的分支.该跟踪分支也存在于本地,并且是您更新本地分支时实际使用的分支。当你做 git fetch ,所有远程跟踪分支都会更新。

您的本地 master分支是当前的跟踪分支,但这并不意味着本地分支是当前的实际 master存储库上的分支。你做过git fetch吗?在您初次调用 git status 之后, 你会看到一条消息说你的本地 master分支在“后面”origin/master .做一个git pull表示更新跟踪分支 origin/master ,然后将其 merge 到您的本地分支以同步所有内容。

这是一个简单的图表,显示了从远程到本地分支的信息流:

remote master (repo) --> origin/master (local tracking branch) --> master (local branch)

关于git 状态与获取(或 pull ): How to know what "up-to-date" means (without changing anything),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37694515/

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