首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Git中丢弃本地提交?

如何在Git中丢弃本地提交?
EN

Stack Overflow用户
提问于 2010-10-07 22:20:53
回答 6查看 210.6K关注 0票数 300

我一直在做某件事,并认为这完全是screwed...after,因为我犯了一些错。因此,我尝试了以下顺序:

代码语言:javascript
复制
git reset --hard
git rebase origin
git fetch
git pull
git checkout

在这一点上我得到了信息

代码语言:javascript
复制
Your branch is ahead of 'origin/master' by 2 commits.

我想放弃我的本地提交,而不必清除我的本地目录并重新下载所有内容。我如何才能做到这一点?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-10-07 22:30:08

代码语言:javascript
复制
git reset --hard origin/master

将删除所有不在origin/master中的提交,其中origin是存储库名称,master是分支名称。

票数 666
EN

Stack Overflow用户

发布于 2010-10-07 22:42:32

顺便说一句,除了mipadi的回答(顺便说一句,这应该是可行的),你应该知道这样做:

代码语言:javascript
复制
git branch -D master
git checkout master

也可以在没有having to redownload everything的情况下做您想要的事情(您的引文已转译)。这是因为您的本地存储库包含远程存储库的副本(该副本与您的本地目录不同,甚至与您的已检出分支也不相同)。

清除分支是完全安全的,并且重建该分支的速度非常快,并且不涉及网络流量。请记住,git主要是一个本地存储库。即使是远程分支机构在本地也有一个副本。只有一小部分元数据告诉git特定的本地副本实际上是远程分支。在git中,所有文件一直都在你的硬盘上。

如果您除了master之外没有任何分支,您应该:

代码语言:javascript
复制
git checkout -b 'temp'
git branch -D master
git checkout master
git branch -D temp
票数 38
EN

Stack Overflow用户

发布于 2017-12-12 17:54:57

我所做的就是努力重置头部。这将清除所有本地提交:

代码语言:javascript
复制
git reset --hard HEAD^
票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3882583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档