Re: EasyGit Integration
From: Björn Steinbrink <hidden>
Date: 2016-06-15 22:46:56
On 2009.06.09 15:52:46 -0400, Avery Pennarun wrote:
On Tue, Jun 9, 2009 at 2:59 PM, Scott Chacon[off-list ref] wrote:quoted
* breaks the various things that 'checkout' does into separate commands - moves 'revert' to doing what 'checkout -- path' does, moves current 'revert' to 'cherry-pick --revert' (which someone mentioned was a good idea at the last GitTogether), and adds 'unstage' for 'reset HEAD file'. also adds a '-s' option to 'branch' to switch to the branch after you create it, which many people expect rather than 'checkout -b'.This would definitely make it easier to explain things to svn users. To be honest, I'm not convinced svn's use of the word "revert" is really right, though. Git's isn't *really* right either, since it actually makes a new commit, it doesn't remove the old one like it sounds like it does. Maybe 'reverse' would be a better name for what git does, and we should just introduce another word for what svn does. (With CVS, you just deleted the file and then did a checkout/update on it again, which made sense to me. That works in git too.) Crazy idea: we could actually make 'git revert' do both: given a commit, it applies the reverse as it does now. Given filenames, it simply brings them back to HEAD. But maybe that's too crazy.
Doesn't seem that crazy to me. But maybe a bit problematic if you want to support both, "git checkout -- ." and "git checkout HEAD -- .". And adding DWIMmery there seems dangerous, as in: git revert == git checkout -- . git revert HEAD == no uncommitted changes = revert commit HEAD uncommitted changes = revert to HEAD Björn