Skip to content

Type-along logs for Version Control and Collaborative Development for Research Software

Notifications You must be signed in to change notification settings

4TUResearchData-Carpentries/2024-10-07-gitcodev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Workshop Version Control and Collaborative Development for Research Software

When 7, 8, 9, 10 October 2024 (third edition)
Where Delft University of Technology
Who, the instructors Halford Dace, Carlos Utrilla Guerrero, Manuel Garcia Alvarez
Who, the helpers Elviss Dvinskis, Joao Guimaraes, Richard Grimes


1. Workshop program

Schedule

Each day we follow the following routine. The time slots are not tied to the rolling out of self-contained topics.

13:00 13:50 14:00 14:50 15:10 15:00 16:10 17:00 17:10
Teaching 50' Break 10' Teaching 50' Break 20' Teaching 50' Break 10' Teaching 50' Wrap-up 10' Closure

Content organisation

The workshop is divided into 4 Lessons, each given in one half a day. Each Lesson is further divided into Episodes, and then into Chapters. Unfold the detailed tables of contents in the listing below.

L1. FUNDAMENTAL OPERATIONS WITH GIT
Episode Topic
1.1 Git repositories for version control
Introduction to Git
Git command syntax and getting help
Creating an empty repository
1.2 Tracking changes in working documents
Tracking changes with the index
Not tracking and stop tracking
Undoing changes with the index
Deleting and renaming tracked files and directories
1.3 Organising tracked changes in a history
Committing changes with a configured identity and a message
Inspecting changes using the history
Undoing changes with the history
Marking the history using tags
L2. BRANCHING AND REMOTE OPERATIONS
Episode Topic
2.1 Branching
--- Create, rename, change, and delete branches
--- Develop and compare branches
--- Visualise and merge branches and resolve conflicts
2.2 Operations with remotes
--- Create a bare repositories
--- Cloning and pushing to upstreams
--- Syncing changes between repositories
L3. COLLABORATIVE SOFTWARE DEVELOPMENT
Episode Topic
3.1 Collaborative Platforms
--- Connecting to code repositories
--- Exploring the GitHub GUI
--- Collaborating
3.2 Collaborative Development for Research Software
--- Introduction to collaboration in software projects
--- Managing research software projects
--- Organising research teams for collaborative development
3.3 Collaborative Workflows
--- Documenting issues
--- Centralise workflow: branching
--- Pull requests
--- Shared workflow: forking
L4. COLLABORATIVE SOFTWARE DEVELOPMENT (to be composed)
Episode Topic
4.1 Managing collaboration
--- Code Reviews
--- Contributing Guidelines
4.2 Licensing and Citation
--- Open Source Licenses
--- Software Citation
4.3 Releasing Software
--- Semantic Versioning
--- Software Releases

2. Lesson notes

This respository contains the type-along logs for the class. You will find the logs of every command the instructors type for lessons 1 and 2 in the files below. Both of these files will be empty at the start of the class, and will fill up as the day progresses. They are useful if you find yourself needing to catch up at some poing, or want to review what was done after the course.

  • lesson1: working with local git repositories
  • lesson2: working with branches and remote repositories

During the class

The commands the instructors type on the screen during each lesson will be appended continuously to the documents 1esson[12].* (the file extension may vary).

Please use these lesson notes when you had to lag behind the instructor and need to catch up with the instructions.

Please refresh the page with the lesson notes in your browser (typically, hit F5). So, you will view the latest commands as the notes grow. Kindly notify the instructor if you do not see this happening.


3. Documents

The workshop

Please bookmark these URLs for an easy navigation during the workshop:

  1. Full URL of this page: https://github.com/4TUResearchData-Carpentries/2024-10-07-gitcodev

The slides


4. Resources

Official Git documentation

GitHub-related documentation

Miscellaneous resources


5. Licensing

Authorship

This course has been designed, developed by Manuel Garcia Alvarez and Giordano Lipari, and delivered by Halford Dace, Carlos Utrilla Guerrero, and Manuel Garcia.

Distribution

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License in accordance with the Vision for Research Data & Software management training at TU Delft.

About

Type-along logs for Version Control and Collaborative Development for Research Software

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •