git - git pull 之后在 master 之前的本地分支
问题描述
我正在一个没有我的 git 凭据的远程服务器上工作,我想从 master 中提取。我没有本地提交,我只想更新这台机器上的本地存储库以匹配远程存储库(来源)。使用这个答案,我设法更新了存储库:
my_repo$ git pull https://my_user@github.com/my_repo
Password for 'https://my_user@github.com':
<some updates....>
实际上,在此操作之后,本地存储库已更新为包含与远程存储库完全相同的所有提交。
但是,由于某种原因,我无法理解,本地存储库变得领先于 master,我找不到修复它的方法。这怎么可能???
my_repo$ git status
On branch master
Your branch is ahead of 'origin/master' by 3 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
my_repo$ git push https://my_user@github.com/my_repo
Password for 'https://my_user@github.com':
Everything up-to-date
my_repo$ git status
On branch master
Your branch is ahead of 'origin/master' by 3 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
my_repo$ git pull https://my_user@github.com/my_repo
Password for 'https://my_user@github.com':
From https://github.com/my_repo
* branch HEAD -> FETCH_HEAD
Already up to date.
另外,当我使用时,git log
我看到了这个奇怪的结果,这对应于我的分支领先于 master,但不对应于“现实”:
my_repo$ git log --pretty=oneline
09ee1f2 (HEAD -> master) Latest commit on master
b6433fb Another commit from master
31da031 Another commit from master
85b95ae (origin/master, origin/HEAD) Another commit from master which was the head before pulled
有人对如何解决这个问题有任何建议吗?以及关于这是如何发生的以及我将来如何避免这种情况的任何想法?
谢谢!
解决方案
您的来源/主人已过时。
从 URL 中提取是一次性的。它不会更新原点/主控。
origin 是与特定 URL 关联的远程存储库的名称。origin/master 是您最后一次在 origin 上看到 master 分支。origin/master 将仅使用 agit fetch
或git pull
from origin 进行更新。这还没有发生。
相反,您已经通过从一些不同的 URL 中提取来更新 master。它可能与原始存储库相同,但 Git 不知道这一点。您可以通过更改原始 url 来解决这个问题git remote set-url origin https://my_user@github.com/my_repo
。然后git fetch origin
。
请参阅Pro Git 中的远程分支。
推荐阅读
- django - 你能帮我解决 Django 表单提交的 405 错误吗?
- html - 行之间的大空间,HTML
- kotlin - 递归调用不是尾调用
- javascript-objects - 无法增加值关联数组
- excel - 有for循环时没有For错误的下一步
- openmdao - 是否可以限制 check_partials 检查的范围?
- tensorflow - 用于移动的 Deeplab xception (tensorflow lite)
- xcode - 如何在 Xcode 11.4.1 中更改工作目录
- python - python和PyQt5中的Quamash QventLoop“RuntimeError:没有运行事件循环”错误
- json - 如何在颤动的谷歌地图中显示旅行时间?