Re: Git Gems
- From
Ramkumar Ramachandra <artagnon@gmail.com>
- Date
- Nov 18, 2011, 04:38 UTC
- Message-ID
- <CALkWK0n6msuDSLP-rjAw93E_fsi3pdPk8S2W+fjfQr2rFMrhdQ@mail.gmail.com>
- In-Reply-To
- <CAE1pOi1gyshz_502NQvLNAByfwiYXW2fzA+EnGKz8tuFrCpkxg@mail.gmail.com>
Hi Hilco,
Hilco Wijbenga wrote:
> [CC: Git Users <git@vger.kernel.org>]
For the record, this is the official Git list: both "developers" and "users" hang out here.
Show 7 quoted lines
> [...] > As an example, 'git rebase' didn't really seem useful until I > understood (well, more or less) what it did. Until then, I just > naively assumed that merge commits and non-linear history were > something you simply had to live with. I'm guessing that, like me, a > lot of people come to Git with quite a few assumptions and > preconceived notions due to their exposure to other SCM tools. :-(
I'm not sure how a listing is going to help; nevertheless, here are a few of the lesser-known features of the top of my head (in no particular order): rerere, attributes, replace refs, filter-branch, blame's -C and -M switches, log's -S switch, custom diff drivers, bundle, submodule, stash, notes, and reflog. [You can find more by digging through the sources]
Which brings us to an interesting aside: unlike many other SCMs which have a definite and finite set of features, git is really just a toolkit that grows everyday- various people use various subsets and write up their own custom scripts to help them automate tasks. The "git rev-list/ git rev-parse/ git cat-file" is an awesome trio to start writing shell scripts with :)
Cheers.
-- Ram