Live data from Hacker News

Giteveryday – A useful minimum set of commands for Everyday Git

kernel.org

41–50 of 53 posts

Re: Giteveryday – A useful minimum set of commands for Everyday Git

#41

Wow, a man page that is actually readable and understandable. I've been using Linux for years, and never once have I seriously looked at a man page. One of the more useless pieces of advice Linux beginners are given is to `man [tool]`. The documentation often has tonnes of useless information and no examples. It's frustrating, and it's also why projects like tldr[0] have gotten so popular. But, the page linked in the…

I've generally found that most man pages are primarily useful for people who already know the basics of how to use that tool, and need to consult the man page in order to figure out how to understand/accomplish some specific functionality they're looking for.

On the other hand, if you're completely new to the tool, man pages are pretty much useless like you mentioned. I generally just google for " tutorial" instead.

Re: Giteveryday – A useful minimum set of commands for Everyday Git

#42
post #15

I love that they try to make it assessible. But I disagree with that it would be an acceptable goal in git just to understand a subset of it. You need to understand nearly everything, even the internals. Only then it can really become useful to you. The mistake the community made is putting git on the throne of version control. It's not. It's a tool for experts that can do a lot for you if you know how to use it. But…

> "But I disagree with that it would be an acceptable goal in git just to understand a subset of it. You need to understand nearly everything, even the internals. Only then it can really become useful to you."

Sorry, but this is patently false. I've been using git very effectively for years, both as a participant and as a repo admin, have had other Senior Developers call me a "git hacker" and ask me for git help, and I have no idea how the internals of git work. I also use a very small subset of git functionality, and many of the commands in the OP look like greek to me.

I don't doubt that your approach is one way to learn/use git. But learning git as a black box, and using just the parts you need, is perfectly useful as well.

Re: Giteveryday – A useful minimum set of commands for Everyday Git

#43
post #8

Earlier quoted context omitted.

> One of the more useless pieces of advice Linux beginners are given is to `man [tool]`. On the other hand, when I was first introduced to Linux ~20 years ago, I didn't have an "always-on" Internet connection and web sites weren't that popular. Probably 90% of what I learned in the first few years or so came from the man pages and a locally downloaded copy of the guides and howto's from TLDP [0]. I might also mention…

Same here; I was constrained to what was on my stack of floppies comprising my Slackware dist

Slackware was the first Linux distro I ever installed on my own machine (I think that was the case for most of us at that time).

I can remember very well trying to scrounge up enough floppies to write out the "A" and "N" sets -- the minimum needed to have a functional system with working "networking" (in my case, dial-up).

After struggling for days to get a working "chat script", I finally managed to get online.

I don't miss it but, in a way, it was sort of a "rite of passage" and you were forced to learn how your system really worked.

Re: Giteveryday – A useful minimum set of commands for Everyday Git

#44
post #35

Earlier quoted context omitted.

>solving the real problems of man pages (which I'd say there are two: lack of hyperlinks and poor searchability texinfo (info) has hyperlinks, and I can search through multiple manuals if that's what you mean by searchability. And it's probably already installed on your system.

I can never remember which manual page contains a description of struct timespec, for example. Running apropos or man -k didn't help me. I only found out it's time.h(0p) by a lucky guess. Info is actually a quite decent idea, it's just executed poorly. Info pages are written like books, while I really miss the concise lexicon-like format of man pages. And it doesn't help that the default GNU info viewer is on one han…

Ah. Just open the libc manual with "info libc", then "i" to look something up in the index, and type "struct timespec". (You can even tab-complete the name of the struct).

>And it doesn't help that the default GNU info viewer is on one hand unusable for someone who isn't already an Emacs user

Yes, well, did you consider running "info info"? :) There's a tutorial accessible with "h". It's not as if there's much to learn, the arrow keys and Enter work fine for navigating and following links.

Re: Giteveryday – A useful minimum set of commands for Everyday Git

#45

Wow, a man page that is actually readable and understandable. I've been using Linux for years, and never once have I seriously looked at a man page. One of the more useless pieces of advice Linux beginners are given is to `man [tool]`. The documentation often has tonnes of useless information and no examples. It's frustrating, and it's also why projects like tldr[0] have gotten so popular. But, the page linked in the…

It's worth noting that there's a difference between reference documentation and tutorials. The world needs both, of course. The user manual on Unices and Linux operating systems is meant to be reference doco.

In the BSD world, in addition to the user manuals there are the various handbooks and guides:

* https://freebsd.org/doc/handbook/

* https://netbsd.org/docs/guide/en/

* https://www.trueos.org/handbook/trueos.html

* http://dragonflybsd.org/docs/handbook/

The Linux world has the Linux Documentation Project, but that is of variable quality, has patchy coverage, and is wildly outdated in some areas.

There's a collaborative project on Wikibooks, as well.

* https://en.wikibooks.org/wiki/Guide_to_Unix

Re: Giteveryday – A useful minimum set of commands for Everyday Git

#46
post #34
post #15

I love that they try to make it assessible. But I disagree with that it would be an acceptable goal in git just to understand a subset of it. You need to understand nearly everything, even the internals. Only then it can really become useful to you. The mistake the community made is putting git on the throne of version control. It's not. It's a tool for experts that can do a lot for you if you know how to use it. But…

Potentially dumb question here, but couldn't 'dragging out the inevitable' be another way of phrasing 'the learning process'? It seems that immediately making a tool usable would be preferable to keeping it as a purely theoretical device until it's fully learned.

If you are this kind of person who is interested to learn, but has no problem with using stuff despite it being a little rough in the beginning, then yes you are more than welcome. In fact I would say that is how people learn. You cannot just read a book. You also need to use it.

But that is not how most beginners approach tools. For most people a tool should serve a purpose and do that immediately from the get go. And for them git is really painful in the beginning. And if they don't put in the learning effort it will still be that annoying a few years down the road.

That's what I meant. Thanks for letting us clarify that together.

Re: Giteveryday – A useful minimum set of commands for Everyday Git

#48

Wow, a man page that is actually readable and understandable. I've been using Linux for years, and never once have I seriously looked at a man page. One of the more useless pieces of advice Linux beginners are given is to `man [tool]`. The documentation often has tonnes of useless information and no examples. It's frustrating, and it's also why projects like tldr[0] have gotten so popular. But, the page linked in the…

For beginners, sure. Point them to tutorials or heavily abbreviated documentation.

But I want to list all commits in the topological order they are in the graph, or need to understand date format specifiers, man git-log .

I actually think quite highly of git's man pages for anything more than rudimentary first steps.

Re: Giteveryday – A useful minimum set of commands for Everyday Git

#49
Useful commands for everyday GitHub usage:

# apt-get remove git

# apt-get install svn

Then use svn. You can receive and send code to GitHub. GitHub is fully svn compatible =)

That can be especially handy for non-tech folks who would have an impossible time with git.

Re: Giteveryday – A useful minimum set of commands for Everyday Git

#50
post #15

I love that they try to make it assessible. But I disagree with that it would be an acceptable goal in git just to understand a subset of it. You need to understand nearly everything, even the internals. Only then it can really become useful to you. The mistake the community made is putting git on the throne of version control. It's not. It's a tool for experts that can do a lot for you if you know how to use it. But…

This is a very useful comment. I think the same could be said about C. It should not be put on the throne of "programming language" - you need to actually read and understand what it does internally. (pointers etc) - it's not enough to learn some incantations. So then let me ask: is there a room for x, where git:x::C:python (git is to x, as C is to Python). People everywhere deserve to have x. Not just right-clicking…

Yes, I believe as well there should be an assessible solution and that should be the standard. However in this case there is none, since weirdly enough git is sitting on the throne. You can try to establish other tools like mercurial in some projects, but you may end up getting harsh resistance by exactly the people you try to serve with that option.
Post reply on HN