我知道这个问题已被问到但我似乎无法用我的远程分支完全取代我的本地分支。我在我的本地分支机构安装了第三方插件,但是在删除安装时遇到了问题。因此,我想"重新开始"与远程版本的分支。该分支被称为" 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
,我得到"Your branch is up-to-date with 'origin/dev'. Nothing to commit, working directory clean".
使用git status --ignored
,我收到的文件太多了......我相信我的.gitignore文件中的所有内容基本上都是。
我只想要远程开发分支中存在的代码而不需要其他内容。
有人可以帮忙吗?
更新
原来我得到的错误是由于目录中的一堆文件root/var/cache/*
造成的。我的.gitignore
文件包含以下条目:
/var/*
!/var/package
var/session/*
尝试从远程恢复本地开发分支的可能方法(在上面的问题中列出以及下面提出的解决方案),root/var/cache
目录仍然存在;在我的应用程序再次开始运行之前,我不得不手动删除它。查看github,远程dev分支没有包含&root; var / cache . Can anybody tell me why
root / var / cache`没有响应用于用远程版本替换本地分支的git命令? / p>
答案 0 :(得分:5)
从另一个分支(比如主人),重置您的开发分支:
git branch -f dev origin/dev
然后,结帐开发并清理你的额外文件:
git checkout dev
git clean -d -f
答案 1 :(得分:4)
试试git clean -fx
。这将删除所有未跟踪的文件,即使它们已在.gitignore
中提及。