如何使用git进行原始结帐?

问题描述 投票:4回答:4

如果我创建一个新克隆并检出当前版本,如何将我的工作目录返回到它所处的状态?

对于颠覆我会这样做:

$ 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这样的东西会更好。

git git-checkout
4个回答
18
投票

(准备丢失所有本地的,未提交的更改:)

git reset --hard
git clean -dfx .

如上所述,您可以使用git stash临时保存对“伪分支”(即存储)上的本地挂起更改的引用。


1
投票

除了@sehe's answer之外,您可能还想创建一个别名以使其更容易。

git config --global alias.pristine '!git reset --hard && git clean -dffx'

然后你可以打电话给git pristine


0
投票

您可以使用git stash来保存当前的修改,然后您可以git stash apply来获取您的更改。


0
投票

试试git reset --hard <revision>

有关reset命令的详细示例,请参阅此页面:http://linux.die.net/man/1/git-reset

© www.soinside.com 2019 - 2024. All rights reserved.