AlexsLemonade / reproducible-research

Repository for Reproducible Research Practices Training Workshop

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Content: Git and Git(Hub)

sjspielman opened this issue · comments

Related to Issue #8

We plan to teach some git basics. An important decision to make early is - command line or GitHub Desktop?

  • Why use version control? Why use git for version control?
  • What is a repo?
    • Terminology: local vs remote
  • Git actions
    • add, commit, push, pull
    • fork, branch, merge
  • Living part of a project - not “upload code here at the end”

Note some useful resources:

Maybe we should just go all in on gitkraken? They have some nice training materials too: https://www.gitkraken.com/resources/git-workshop

The materials are very nice! The main hesitation I'd have here is that gitkraken's interface is super overwhelming for doing the basics. But, to prepare them to one day work in an overwhelming interface (inevitable to a degree with git), it's ideal for them to start off with us guiding them through it.

The thing I like about gitkraken is that while the interface is complex, it makes a lot of git visible in a way that the command line does not. GitHub Desktop hides even more, so I think I am leaning away from using that at all.

I think my preference might be to start at the command line for some of the basics, then show people that they can see the history of the repo in a client like gitkraken, and perform the same functions there (without the risk of ending up stuck in vim).

A corollary belief I have is that people are more likely to make git a part of their workflow if they have a GUI interface to it. So I want to recommend and demonstrate one somewhere along the line.

The thing I like about gitkraken is that while the interface is complex, it makes a lot of git visible in a way that the command line does not. GitHub Desktop hides even more, so I think I am leaning away from using that at all.

Good point

A corollary belief I have is that people are more likely to make git a part of their workflow if they have a GUI interface to it.

This is probably true.

Notes for PCs:

  • git comes installed with WSL
  • It seems possible to use the windows file system with Ubuntu command line
  • Interesting situation with git(kraken):
    • It is not possible to use a GUI to access a repo that's been cloned/created within Ubuntu
    • It is possible to use the GUI with a repo that's been cloned into Windows, which makes sense
    • It is possible to use git CLI with a repo that's been cloned into Windows, BUT I'm pretty sure this needs full git config in both operating systems. Works when using CLI to set up git config and ssh key and git kraken on the windows side to do the same on the Windows side. It's a lot of setup.

Discussed this afternoon:

  • We're going to use GitKraken as our GUI of choice
  • We expect to teach using GitKraken primarily, while also including the command line version of steps on slides
    • Slides will have a screenshot of GitKraken on one side and text, rather than screenshots, of the commands on the other side. We don't anticipate teaching from these. We expect to live demo (i.e., show the steps using screensharing of the GitKraken window) instead.
  • @jashapiro is going to start taking screenshots for forking, etc. (#22)
  • We expect to add intro slides introducing git and GitHub after the screenshots are stubbed in, probably next sprint.