为什么 "git pull" 在签出远程分支后立即执行时更新文件?
Why "git pull" is updated files when implemented immediately after checking out a remote branch?
我用的是IntellijIDEA,
- 在分支视图(右下角)我 select 来自远程分支的早午餐,我以前从未检查过(在我的 Jira 任务中阅读之前我什至不知道它的名字)
- 点击它
- 结账方式...
- 保留原来的名称(与远程名称相同)
- 好的
我希望我有一个最新的分支(这不是很合理吗?)但是当我立即 select Git -> pull 时,我更新了 588 个文件在这个分支上有 627 次提交?
请解释一下这是什么逻辑?结帐时期望获得最新的分支并期望 pull 会说 "everything is up to date" 不是合理的吗?
问题在于,这些分支最后一次更新是在您上次 git pull -all
。
例如,如果您克隆一个项目,这些分支会附带最新的提交(最新)。但是,如果您有一段时间没有 git pull --all
,那么这些分支将不会更新。在这种情况下,您的分支不包含最新更新,因此您必须 git pull -all
才能更新它们。
综上所述,分支是从您克隆项目或上次您git pull -all
时最后更新的,但不会自动更新。
如果有新的分支添加到远程,那么您必须先使用 git fetch --all
获取它们。
我用的是IntellijIDEA,
- 在分支视图(右下角)我 select 来自远程分支的早午餐,我以前从未检查过(在我的 Jira 任务中阅读之前我什至不知道它的名字)
- 点击它
- 结账方式...
- 保留原来的名称(与远程名称相同)
- 好的
我希望我有一个最新的分支(这不是很合理吗?)但是当我立即 select Git -> pull 时,我更新了 588 个文件在这个分支上有 627 次提交?
请解释一下这是什么逻辑?结帐时期望获得最新的分支并期望 pull 会说 "everything is up to date" 不是合理的吗?
问题在于,这些分支最后一次更新是在您上次 git pull -all
。
例如,如果您克隆一个项目,这些分支会附带最新的提交(最新)。但是,如果您有一段时间没有 git pull --all
,那么这些分支将不会更新。在这种情况下,您的分支不包含最新更新,因此您必须 git pull -all
才能更新它们。
综上所述,分支是从您克隆项目或上次您git pull -all
时最后更新的,但不会自动更新。
如果有新的分支添加到远程,那么您必须先使用 git fetch --all
获取它们。