首页 > 解决方案 > git pull origin master 没有按预期工作

问题描述

(作为新手,我并不是说它不能正常工作,显然我的理解存在问题,因此预期这个词)......

让我好好解释一下....可以说我克隆了一个 git repo,里面有 10 个文件。

目前,正如我刚刚克隆的那样,我的本地副本和 github repo 完全相同。

我现在做了两项更改——一项在我的 github 存储库中,另一项在我的本地副本中。例如。A) 我在我的github repo中添加了文件 11 和 12 。B) 我从本地副本中删除文件 9。

现在我希望我的本地副本与我的 github 存储库同步,以便它完全镜像它(如果我删除了我的本地副本并重新克隆它,基本上是相同的状态)

即 A)它应该从 git repo 添加新文件 11 和 12 B)它应该带回 git repo 中存在的文件 9

在谷歌搜索了一下之后,我发现我们可以使用git pull origin master来更新我们的本地 repo 副本但是运行它说 -已经是最新的......

git remote -v 有 remote -origin 指向我的 github repo,所以没有远程不是问题..

我想我错过了一些东西。什么是完成我上面提到的 2 个任务的正确命令。

标签: gitgithubgit-mergegit-clone

解决方案


要重置本地 repo 以匹配远程,同时丢弃任何未提交的更改(并可能孤立一些提交,以便它们可能被未来的垃圾收集丢弃),您可以执行以下操作:

git fetch origin
git reset --hard @{u}

第一个命令从远程检索提交,第二个命令重置本地存储库以使其与远程匹配。


推荐阅读