Topic: Software Development
Git can be used for more than tracking code and data science projects. For example, if you're a student, you can have a place to store your class notes and materials. Let's start over and learn Git from the beginning so you can be less afraid, and see how it can integrate into your life.
What you'll learn-and how you can apply it
- Using basic git commands
- Moving around history
- Understanding remotes
- Dealing with conflicts
This training course is for you because...
- You want to incorporate version control methods into your workflow
- Basic command line skills: moving to directories and creating and editing plain text files
- Install Python using Anaconda: https://www.anaconda.com/distribution/
- Please follow the Carpentries instructions for installing Git (bash): https://carpentries.github.io/workshop-template/#git. It is especially important for Windows users to check off using “nano” as the default text editor. The default editor will be set to Vim, and It’ll be very difficult to explain how to save and quit over a virtual classroom.
- We will be using GitHub as a remote, so please create a GitHub account beforehand. (You may use any other Git hosting service (e.g., Bitbucket, GitLab, etc) but the class will be using GitHub.)
- Software Carpentry has a nice reference/cheatsheet: http://swcarpentry.github.io/git-novice/reference
- (video) Git Essentials LiveLessons, Daniel Chen https://learning.oreilly.com/videos/git-essentials-livelessons/9780134655284
- (live online training) Git Collaboration Basics, Daniel Chen (dates vary)
About your instructor
Daniel Chen, is a PhD student at Virginia Tech and holds a master's in epidemiology from Columbia University He is currently studying data science education and pedagogy in the biomedical sciences. Daniel specializes in research design, analysis and teaching scientific computing with an emphasis on R, Git, Python and Linux. Daniel is the author of Pandas for Everyone, an expansion in the Pearson series and the Python complement to R for Everyone.
The timeframes are only estimates and may vary according to how the class is progressing
Segment 1. Basic setup (10 min)
Segment 2. Create a repository (20 min)
Segment 3. Track changes (20 min)
- Break (10 min)
Segment 4. Explore history (20 min)
Segment 5. Revert changes (20 min)
Segment 6. Ignore files (20 min)
- Break (10 min)
Segment 7. Remotes (25 min)
Segment 8. Conflicts (20 min)
Course wrap-up and next steps (5 min)