我的机器上有一个目录,用于存储来自GitHub的所有项目。我打开了其中一个,并在计算机上本地进行了更改。项目搞砸了,现在我想放弃所做的所有更改,并从存储库中获取最新版本。我对使用Git Shell的GitHub比较陌生。
将git pull
命令是否足够呢?我是否需要做其他任何事情以放弃本地所做的更改?有人可以帮忙吗?
Answers:
git reset是您想要的,但是我要添加一些其他可能没有发现的有用的东西。
git reset --hard HEAD
将您的更改重置为本地存储库已跟踪的最后一次提交。如果您进行了提交,则没有将其推送到GitHub,也想将其丢弃,请参阅@absiddiqueLive的答案。
git clean -df
如果您要丢弃这些文件或目录,它将丢弃您可能添加的任何新文件或目录。如果尚未添加任何内容,则无需运行此程序。
git pull
(或者如果您在GitHub Client上使用git shell)git sync
将从GitHub获得新的更改。
以后进行编辑:
我在前一周更新了git shell,并注意到git sync
默认情况下不再定义该命令。记录下来,键入git sync
等同git pull && git push
于bash。我发现它仍然有帮助,因此它在我的bashrc中。
git status
。看看这个问题:stackoverflow.com/questions/36039687/…–
git clean -fd
是否还有目录被吹走。
如果您已经提交更改,则必须还原更改。
如果您尚未提交,只需进行一次干净的结帐 git checkout .
推翻旧仓库。
git push -u origin master --force
我认为该--force
方法同样适用。
git pull
是的缩写,git fetch
后跟git merge FETCH_HEAD
。fetch
有一个--force
选项,但实际上与覆盖当前分支中的更改没有任何关系。因此,尽管从技术上讲git pull --force
是合法的,但它并没有按照您的想法做。