Hi All,

There appears to be a common assumption being made that "GUI could get
people faster on board to use Git." I would like to gently challenge that
notion. I've taught git using both CMI and GUI and found that the GUI was
confusing and overwhelming to folks.

The reality is, the majority of beginners cycle through the same 3-4
commands when using git/hub (add commit push pull). This is how they first
engage with git as a system. A GUI may be easier than CMI when you want to
do more complicated tasks, but for a simple workflow, the command line is
the better choice pedagogically. A GUI has too many bells and whistles, and
distracts from this simple workflow.

Just my two cents,
Rochelle


On Tue, Sep 6, 2016 at 8:48 AM, Juan Nunez-Iglesias <[email protected]>
wrote:

> Hi all,
>
> Sorry, in all honesty I didn't mean to start a flame war; I just thought
> as instructors we would agree on this point. =) Three points about *why* I
> think it's broken:
>
> 1) the entertaining and informative Git Koans: http://stevelosh.com/
> blog/2013/04/git-koans/
>
> 2) a couple of additional examples from my own observation:
>
> "git reset HEAD <file>" to unstage (huh???)
> "git push --set-upstream <remotename> <branchname>" to set a remote
> tracking branch, but "git fetch <remotename>; git checkout --track
> <remotename>/<branchname>" to set a local branch to track a remote.
>
> I consider git alias a hack, not a solution, because it's additional load
> for the learners and it is not portable.
>
> 3) I saw once a post (that I can't currently find) comparing the current
> state of the git interface to the state of imperative programming before
> goto was phased out: powerful, yes, but hard to follow and easy to mess up
> with. Eventually, the git UI, both command line and GUI, will converge on
> something minimal that *only allows* the patterns that programmers have
> settled on as useful. (e.g. Git flow, and GitHub flow.)
>
> Titus's point about HPC is a good one. I'll point out that when I taught
> with GUIs, I mirrored everything in the command line as well. I also
> explicitly recommended GUIs that stayed close to the command line model.
>
> Juan.
>
> On 7 September 2016 at 12:53:50 AM, Ivan Gonzalez ([email protected])
> wrote:
>
> I think there are a few good points in this thread that justify why we
> teach the Git on the command line:
>
> 1. Different GUIs offer different experiences and would be hard to agree
> on one.
> 2. Git CLI is used to reinforce what's learned during the Unix shell
> lesson.
> 3. The very important use case of a remote machine (cluster, AWS, ...)
> with only terminal access.
>
> I agree that a GUI could get people faster on board to use Git, but I also
> think they'll have more trouble
> understading the model or switching to another tool later.
>
> I might choose teaching a GUI for a shorter lesson, or if the Unix shell
> is not being covered, or if there is a
> group of people that is going to work together and the whole group agrees
> on using the same tool and can help
> each other in the long run (help for the GUI tools is scarce and often
> falls back to CLI magic).
>
> Best,
>
> Ivan
>
> On Tue, Sep 6, 2016 at 9:34 AM, P Lijnzaad <[email protected]> wrote:
>
>> I concur with Juan Nunez-Iglesias, the git command line interface is
>> horrendously complicated (or should I say inconsistent *), even for
>> experienced programmers. This is of course partly due to the git data
>> model, which is also very complicated (with >= 5 places to mentally keep
>> track of things: working copy, index, repository, remotes, and stash). I
>> had good experiences with Easy Git (eg; see
>> https://people.gnome.org/~newren/eg/) when transitioning from svn. But
>> it is aimed at exactly that (svn -> git), and I'm not sure it's maintained
>> anymore. To further the goal of reproduceable research, anything that makes
>> it easier to use git should be welcomed.
>>
>> (*) of course,  *Consistency is the last refuge of the unimaginative*
>> (Oscar Wilde), but still ...
>>
>> Philip
>>
>> ​
>>
>> _______________________________________________
>> Discuss mailing list
>> [email protected]
>> http://lists.software-carpentry.org/listinfo/discuss
>>
>
> _______________________________________________
> Discuss mailing list
> [email protected]
> http://lists.software-carpentry.org/listinfo/discuss
>
>
> _______________________________________________
> Discuss mailing list
> [email protected]
> http://lists.software-carpentry.org/listinfo/discuss
>



-- 
Rochelle Terman, Ph.D.
Stanford University

email: [email protected]
www.rochelleterman.com
_______________________________________________
Discuss mailing list
[email protected]
http://lists.software-carpentry.org/listinfo/discuss

Reply via email to