[英]How do I do a pristine checkout with 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
會更好。
(准備放棄所有本地的,未經修改的變化:)
git reset --hard
git clean -dfx .
如上所述,您可以使用git stash
臨時保存對“偽分支”(即存儲)上的本地掛起更改的引用。
除了@ sehe的答案之外 ,您可能還想創建一個別名以使其更容易。
git config --global alias.pristine '!git reset --hard && git clean -dffx'
然后你可以打電話給git pristine
。
您可以使用git stash來保存當前修改,然后您可以使用git stash apply
來獲取您的更改。
嘗試git reset --hard <revision>
有關reset命令的詳細示例,請參閱此頁面: http : //linux.die.net/man/1/git-reset
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.