Git和TortoiseSVN,如何在不再克隆远程仓库的情况下撤消本地存储库中的更改

时间:2016-03-01 08:45:37

标签: git svn github

我有以下命令来更新我的存储库,它将使用TortoiseSVN更新我的库并使用Gi​​t来源。

但我想撤消所做的所有更改,并将其替换为主仓库中的内容。

cd lib\win64_vc12
svn update
cd ..\..\project
git pull --rebase
git submodule foreach git pull --rebase origin master

我研究并找到了它的

git reset --hard origin/master

但我不确定,我是如何做到这一点的,我是git的新手,我不想重新克隆回购,因为它的巨大。

需要你的帮助,谢谢

阿济斯

2 个答案:

答案 0 :(得分:0)

git reset --hard 0d1d7fc32

会将您重置为所需的提交,并且所有更改都将丢失,因此在执行此操作时请小心。

答案 1 :(得分:0)

  

但我想撤消所做的所有更改,并将其替换为主仓库中的内容。

简单的方法就是删除"脏"分支并从您当地的仓库结帐新分支

# delete the local master branch
git branch -D master

# checkout the latest branch without the need to clone the repository again
git checkout origin/masetr

<强> What else can you do to fix it?

您必须将HEAD设置为指向新的(或旧的)提交 以上帖子将向您展示并将教您如何做,并将向您展示几个选项。

如果您想 undo 您的更改。这样做你有几个选项,你可以在这里详细阅读:

<强> How to move HEAD back to a previous location? (Detached head)

它将详细解释每个选项中的操作。