On Tuesday, 8 November 2016 at 16:57:27 UTC, H. S. Teoh wrote:
On Tue, Nov 08, 2016 at 11:40:31AM -0500, Nick Sabalausky via Digitalmars-d wrote:
On 11/05/2016 11:48 AM, Marc Schütz wrote:
> On Saturday, 5 November 2016 at 01:21:48 UTC, Stefan Koch > wrote: > > > > I recently lost 3 days of work because of my git-skills. > > Unless you haven't committed your work yet, almost > everything in Git can be undone. Make a copy of your entire > project directory (including .git) and then have a look at > `git reflog` around the time the disaster happened. It will > show you commit IDs that you can check out.

Yea, but unless you're a git-fu master, sometimes figuring out how to fix whatever got messed up can lose you 3 days of work ;)

I really want to make a saner CLI front-end for git, but that would require learning more about git than I really ever want to know :(

If you study carefully the data model of git you will then come to the conclusion that its CLI is not that bad.

The thing about git is that at its core, it's really very simple. Dumb, even. It's basically a program for managing a directed acyclic graph (DAG). That's all there is to it. The rest is just frills.

Trying to rationalize git in terms of traditional version control systems is what usually causes lots of confusion, incomprehension, and frustration. To truly grok git, you have to just forget about traditional version control concepts, and think purely in terms of DAGs. Once you do, everything falls into place and it all makes sense in its own peculiar way (including all the flaws :-P).

I describe git not as a vcs but as exacly what Linus Torvalds described it when he first presented it the Kernel mailing list: a directory content state recorder optimized for text files. The DAG is already an abstraction above i.e. a mean to that end.



Reply via email to