最徹底, 最完美, 最簡單的discard uncommitted changes, 應該係乜?

我用的是這兩句
git clean -df
git reset --hard

感覺應該係最合乎題目的要求


但如果search一下, 會發覺網上其實好多版本

例如其中一個係沒有git reset --hard
淨係用依句git clean -df, 我試過發現其實都work, 句reset好似係多餘的, 但好多版本中都有reset依句

又例如有D人會用git reset

有D人會用git revert

又或者會用依個版本
git reset
git checkout .
git clean -fdx

仲有好多版本不能盡錄, 有無一個最好的版本?
同埋如果想係sourcetree ui做git clean -df



參考:
http://stackoverflow.com/questio ... t-to-previous-state

http://stackoverflow.com/questio ... e-local-git-changes

git stash
git stash drop

TOP

git stash
git stash drop
Jackass_TMxCK 發表於 2017-3-9 13:59



依個唔係一個徹底的方法
首先佢只可以還原staged個list入面的file
unstaged果D不能還原
如果有D file連unstaged list都入唔到的話, 就更加還原唔到

我係希望用git, 可以做到同以下做法一樣咁徹底的效果
1. zip左成個project folder
2. 改亂folder入面的file, 然後delete成個project folder
3. 爆開zip當還原

TOP

是但一個方法都得啦

至於你話zip, zip可以archive埋無入git的files, 你想untracked file都還原到?
話明untracked, 又點會用git管理

TOP

點樣界定 "uncommitted change"? staged + unstaged?
最簡單應該係 git reset --hard <SHA1|branch|tag, 連stage 左O既野都冇埋...

TOP

本帖最後由 dsscss 於 2017-3-12 01:10 編輯

係,應該係git reset --hard

若果windows,用tortoise git就唔駛點煩呢樣野,選revert就可以幫你還原uncommitted change.
若果gui方便,當然用gui. 還原呢d咁簡單都要記command又要驚打漏就太辛苦了.

via HKEPC Reader for Android

TOP