git:给我回购,nuke当地的一切,我不在乎

时间:2013-05-14 16:39:17

标签: git

git是否有任何拉/结账'核选项'来获得回购? 我不关心任何冲突,我不需要任何本地的东西, 只是想要货物,所以我可以工作。

[编辑] 澄清我的问题:

$ git pull
error: Your local changes to the following files would be overwritten by merge:

<...files I couldn't care less about...>

Please, commit your changes or stash them before you can merge.
error: The following untracked working tree files would be overwritten by merge:

<...more files I couldn't care less about...>

3 个答案:

答案 0 :(得分:12)

最好让你理解各种git命令,然后找到你现在需要的那个,因为你会多次想出这种情况,只是在抱怨和责备git的时候学会零碎。

编辑:我继续尝试所有选项,这应该做到。感谢pauljz的评论。

git clean -df # remove untracked files AND directories
git reset HEAD --hard # revert any uncommitted changes

以上应该是您所需要的一切。

其他选择:

git pull -f # replace local files even if you have unpushed commits.

git reset HEAD --hard # remove unchanged, uncommitted files
git pull

git clean -f # remove untracked files (uncommitted files)
git pull

答案 1 :(得分:4)

您可以随时删除现有仓库的整个文件夹,然后使用git clone

创建一个新文件夹

答案 2 :(得分:3)

有时其他答案中列出的步骤不起作用,因为[rant redacted]。在那种情况下,你的&#34;战术核武器&#34;选项是:

(如有必要)重置未提交的本地更改,以便您可以切换:

git reset --hard HEAD

创建并切换到其他本地分支:

git checkout -b tempBranch

强制删除问题的(本地副本)分支:

git branch -D targetBranch

签出并从远程切换到目标分支的干净副本:

git checkout -b targetBranch origin/targetBranch

通过删除您所做的临时本地分支进行清理:

git branch -D tempBranch

如果这不起作用,那么&#34;战略核武器&#34;选项是删除repo并再次克隆它。