Hi all,

My two cents: the git command line interface is practically broken. I think
there's consensus on this, especially on this list. As such, I'm strongly
in favour of teaching git by GUI, because by and large GUIs have done a
good job of simplifying the process of interacting with git.

This is, however, a recent policy of mine, so I've only tested it once, but
it was highly successful. I noticed a *huge* difference in how quickly
people caught on. Most people in the class were using Sourcetree, which is
available on both Windows and OS X, and I recommend it. (Linux has gitk.)
An important thing to note is that Sourcetree provides roughly the same
interaction model as the command line (e.g. it uses push/pull, not sync).
My hypothesis is that the difference for learners is being able to see the
commit log, the graph, the diffs, all in one place.

As to the original question: I would *not* recommend GitHub Desktop, for
reasons that others have already noted (different git model, only works
with GitHub).

Juan.

On 6 September 2016 at 7:37:37 PM, Raniere Silva ([email protected])
wrote:

Hi Matthew,

> I searched the list history and didn't see a similar topic already
posted, so
> apologies if this is a rehash of a previous conversation.
>
> I'm going to be teaching a version of the git novice lessons next week to
an
> audience that does not feel comfortable on the command line. My goal will
be to
> use Github Desktop [1] which provides a (reasonably nice) GUI on top of
common
> interactions with local and remote repositories. I expect to walk through
the
> GUI interactions in approximately the same order as the lessons while
having
> some conceptual slides as I go along.
>
> I have a few questions for the list:
>
> 1 Has someone else taught a similar course? Perhaps we can connect off
list for
> quick ideas/lessons learned (I will be new to teaching with a GUI..).

Twice I had a request to teach Git using a GUI interface. None of the
request was for a Software Carpentry workshop.
In one of the class I use gitk [1] and git gui [2]
that are the official GUI for Git and is installed with Git for Windows
which we recommend (if you use Linux you need to run "apt-get install
git-gui"
to have it). The feedback from the lesson was very positive except for
the GUI is ugly and minor GUI behaviours (you need to click on the icon
and not on the name of the file).
The other class I use GitHub Desktop because the learners already had
download it and was strugling to use it. The learners were happy after
the lesson to have more knowledge of how Git works but I many times I
had to answer questions with "because this is the way GitHub want you to
work"
or "you can't contribute with this project because it is on GitLab,
Bitbucket, ... and GitHub for Desktop only works with GitHub".

If I had to teach again with a GUI I would go with gitk and git gui
because learners could use it with any host and they are available on
Windows, OS X and Linux.

> 2 Is there interest in developing some sidecar lessons to git-novice that
use
> the github GUI?

I believe that many instructors would like to have it
but most of us would agree that provide that lesson
is contradict ourselves. We normaly something like
"spreadsheets are evil, you can make a lot of mistakes with spreedsheets,
you need to repeat yourself when using spreedsheets,
Bash/Python/R are aweseome, you can avoid mistakes when processing your data
by using Bash/Python/R, you can do things faster with Bash/Python/R by
not repeating yourself".

> 3 Philosophically, is teaching git without the CLI antithetical to SWC's
core
> mission (i.e., is it doing more harm by obfuscating the mechanics of the
> underlying tool)?

We obfuscate the mechanics of the underlying tool when using Jyputer
Notebook and RStudio as IDE and also when we use libraries that do too
much for beginers that they don't need to learn the basic stuffs
(e.g. how to open a file because they only need to provide the name of
the file to the library). So I don't think that using CLI is antithetical
for that reason but as I explained early for a full/branded Software
Carpentry
workshop I would only teach Git with the command line.

Another reason that we teach Git with the command line is to allow
learners to practice more the shell in a friendly environment (the
workshop).

Cheers,
Raniere

[1]: https://git-scm.com/docs/gitk
[2]: https://git-scm.com/docs/git-gui
_______________________________________________
Discuss mailing list
[email protected]
http://lists.software-carpentry.org/listinfo/discuss
_______________________________________________
Discuss mailing list
[email protected]
http://lists.software-carpentry.org/listinfo/discuss

Reply via email to