26

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...>
4

3 回答 3

18

更好地了解各种 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
于 2013-05-14T16:41:24.010 回答
3

您始终可以删除现有存储库的整个文件夹,然后使用git clone

于 2013-05-14T16:40:28.017 回答
3

有时其他答案中列出的步骤不起作用,因为 [rant redacted]。在这种情况下,您的“战术核武器”选项是:

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

git reset --hard HEAD

创建并切换到不同的本地分支:

git checkout -b tempBranch

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

git branch -D targetBranch

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

git checkout -b targetBranch origin/targetBranch

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

git branch -D tempBranch

如果这不起作用,“战略核武器”选项是删除回购并再次克隆它。

于 2016-10-20T17:31:12.577 回答