我先来讲讲背景
我的一些文件在ignore了,不会被提交到远程仓库,这时候我的远程仓库中是没有这几个文件的,这时候我如果使用 git reset 的话这时候除了那几个 ignore 的文件以外都被更新的,但是如果我不需要这几个被 ignore 的文件,我是无法 通过 git pull 进行操作的
我们来看看 git pull 的定义
git pull
命令通常用于从远程仓库拉取最新的提交(commit)。它会将远程仓库的最新更改(commit)合并到当前本地分支中。
默认情况下,git pull
将拉取远程仓库的最新提交,也就是当前分支的最新提交。它不会拉取旧版本的提交。
只能拉取远程中超出本地的提交,这时候我们就应该直接把本地那几个ignore文件删除,再利用
git reset来回滚到远程仓库的版本就行
总结就是,git pull 无法拉取旧版本的内容,而利用git reset 的话如果本地已经处于最新状态,再次git reset 也没用,但是本地还残留着一些不需要的文件的时候,这时候不能通过git pull来达到直接覆盖拉取的目的,要先删除本地文件,再次回滚 git reset就可以了,(被ignore 的文件不会理会回滚)