我如何回到原来的Git克隆?

时间:2016-05-23 20:51:49

标签: git

所以我git克隆了一个repo并且当时没有想到所以我没有做一个git分支。我做了很多改变,并不需要保留它们,此时我只想要远程仓库的最新资料。有没有办法我可以合并,现在必须处理最新的远程仓库和我所掌握的变化之间的差异?我只想要最新的远程repo master而不是别的。

4 个答案:

答案 0 :(得分:1)

git checkout master
git fetch
git reset --hard origin/master

您还可以使用git branch -D <branch name>删除您不需要的任何额外分支。

答案 1 :(得分:1)

您可以删除和更改未提交的

git reset --hard

然后拉新东西

git pull

答案 2 :(得分:1)

这取决于你是否已经提交了它们:

是的,我提交了我的更改

您可以简单地使用the --rebase argument进行拉取,这将在您自己的提交之前应用来自远程的所有提交(或至少尝试):

git pull --rebase origin master

不,我还没有提交我的更改

在这种情况下,您需要使用the stash command,它会进行未分级的更改并将其从工作目录中保存下来。之后您可以再次申请:

git stash
git pull origin master
git stash pop
# merge any conflicts

我不关心我的变化

你的问题建议两个接近 - 一个:保存我的本地更改并将其应用于更新的主人(见上文),两个:不关心我的本地更改,只是重置为原点。在这种情况下,简单的重置将执行:

git fetch
git reset --hard origin/master

答案 3 :(得分:1)

如果您已经提交了这些不受欢迎的更改,则应使用git log检查上游的最后一次提交,然后使用git reset --hard <HASH>重置为此点。

如果你还没有从上游git reset --hard origin/master获取最新信息,那就更容易了。

更快(更脏)的解决方案是如此简单地删除您的目录并再次克隆 - 但不推荐。