標題: 最徹底, 最完美, 最簡單的discard uncommitted changes, 應該係乜? [打印本頁]
作者: 3ldk 時間: 2017-3-9 10:03 標題: 最徹底, 最完美, 最簡單的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
作者: Jackass_TMxCK 時間: 2017-3-9 13:59
git stash
git stash drop
作者: 3ldk 時間: 2017-3-11 02:27
依個唔係一個徹底的方法
首先佢只可以還原staged個list入面的file
unstaged果D不能還原
如果有D file連unstaged list都入唔到的話, 就更加還原唔到
我係希望用git, 可以做到同以下做法一樣咁徹底的效果
1. zip左成個project folder
2. 改亂folder入面的file, 然後delete成個project folder
3. 爆開zip當還原
作者: 梁炳 時間: 2017-3-11 14:29
是但一個方法都得啦
至於你話zip, zip可以archive埋無入git的files, 你想untracked file都還原到?
話明untracked, 又點會用git管理
作者: LoneGumMan 時間: 2017-3-11 16:41
點樣界定 "uncommitted change"? staged + unstaged?
最簡單應該係 git reset --hard <SHA1|branch|tag, 連stage 左O既野都冇埋...
作者: dsscss 時間: 2017-3-12 01:06
本帖最後由 dsscss 於 2017-3-12 01:10 編輯
係,應該係git reset --hard
若果windows,用tortoise git就唔駛點煩呢樣野,選revert就可以幫你還原uncommitted change.
若果gui方便,當然用gui. 還原呢d咁簡單都要記command又要驚打漏就太辛苦了.
via HKEPC Reader for Android

