我知道有人问过这个问题,但我似乎无法用我的远程分支完全替换我的本地分支。我在我的本地分支中安装了一个第三方插件,但在删除安装时遇到了问题;因此,我想使用分支的远程版本“重新开始”。该分支在本地称为“dev”,在远程称为“origin/dev”。我尝试了三种用远程版本替换本地分支的方法:
1. git reset HEAD --hard
2. git reset --hard origin/dev
3. git checkout dev
git fetch
git reset --hard origin/dev
但是在执行上述git命令后查看本地代码,我仍然可以看到插件剩余的文件和文件夹。
使用git status
,我得到“你的分支是最新的'origin/dev'。没有什么可提交的,工作目录是干净的”。
使用 git status --ignored
,我得到太多文件无法列出...我相信基本上我的 .gitignore 文件中的所有内容。
我只想要存在于远程开发分支中的代码,别无其他。
有人可以帮忙吗?
更新:
原来我得到的错误是由于目录 root/var/cache/*
中的一堆文件造成的。我的 .gitignore
文件包含以下条目:
/var/*
!/var/package
var/session/*
尝试从远程恢复本地 dev 分支的可能方法(在上面的问题以及下面建议的解决方案中列出),root/var/cache
目录仍然存在;在我的应用程序再次开始运行之前,我不得不手动删除它。查看github,远程开发分支不包含'root/var/cache。谁能告诉我为什么
root/var/cache` 没有响应用远程版本替换本地分支的 git 命令?
最佳答案
从另一个分支(比如 master),重置你的开发分支:
git branch -f dev origin/dev
然后,检查开发并清理你的额外文件:
git checkout dev
git clean -d -f
关于Git - 用远程分支替换本地分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31691416/