2017-07-26 147 views
2

我在本地回购中做了很多更改,包括删除了数千个文件,并进行了数百项更改。同时,我做了一个文件同步(只是没有访问互联网)到另一台计算机,然后继续创建数千个文件,删除了数千个文件,并进行了数百次更改。现在回购工作正常,因为我从我后来工作的计算机更新它,但是当我想拉到我以前的计算机时,这变成了一场噩梦...显然我必须手动签出我删除或更改的所有文件并再次拉回我的最后一个头...有一个简单的超级拉命令来做到这一点? (只接受远程回购作为超级主人)是否有git --super/- force pull命令?

我可以只删除一切,做一个git克隆,但由于我必须再次安装很多npm包,可能需要一段时间。再次,只是好奇心,我想知道是否有更好的方法来做到这一点,然后做另一个git克隆。

+0

不会'git reset --hard origin/master'工作吗? – Antwane

+1

[各种方式删除本地Git更改]的可能重复(https://stackoverflow.com/questions/22620393/various-ways-to-remove-local-git-changes) –

+0

我通常建议避免完全“git pull” 。它给人们错误的想法。如果你知道'git pull'的两个不同的Git命令是如何运行的,你就会意识到你只需要这两个命令中的一个*(后面跟着不是'git pull'的第二个命令)的选择)。 – torek

回答

1

你可以简单地做:

git reset --hard <remote>/<branch> 

到本地工作文件夹还原到你做任何修改之前所拥有的版本,然后git pull应该正常工作。

+1

'git pull origin master'指定分支名称总是好的:D –