如何使用 git 进行原始结帐?
如何将工作目录返回到创建新克隆并签出当前版本时的状态?
对于颠覆,我会这样做:
$ svn status --no-ignore | awk '$1 == "?" { print $2 }' | xargs rm -r
对于 Mercurial:
$ hg status --ignored --unknown | awk ' ( $1 == "?" ) || ( $1 == "I") { print $2 }' | xargs rm -r
所以同一行的答案都很好。但像 git checkout --clean -r b4a23 之类的东西会更好。
How do I return my working directory to the state it would be in if I made a new clone and checked out the current version?
For subversion I'd do:
$ svn status --no-ignore | awk '$1 == "?" { print $2 }' | xargs rm -r
and for mercurial:
$ hg status --ignored --unknown | awk ' ( $1 == "?" ) || ( $1 == "I") { print $2 }' | xargs rm -r
So answers in the same line are fine. But something like git checkout --clean -r b4a23
would be better.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
(准备好释放所有本地的、未提交的更改:)
如前所述,您可以使用 git stash 临时保存对“伪分支”(即存储)上的本地待处理更改的引用。
(prepare to loose all local, uncommited changes:)
As mentioned, you can use
git stash
to temporarily save a reference to your local pending changes on a 'pseudo branch' (i.e. a stash).除了@sehe 的回答之外,您可能还需要创建一个别名以使其更容易。
然后你可以调用 git pristine 。
In addition to @sehe's answer, you may want to create an alias to make it easier.
Then you may just call
git pristine
.您可以使用 git stash 保存当前修改,然后您可以
git stash apply
以取回您的更改。You could use git stash to save the current modifications off, then you can
git stash apply
to get your changes back.尝试 git reset --hard
请参阅此页面以获取重置命令的好示例:
Try
git reset --hard <revision>
See this page for good examples for the reset command: http://linux.die.net/man/1/git-reset