<div style="text-align: left; "><img src="https://hackmd.io/_uploads/Sk1J-rG3bl.png" width="200" /> <img src="https://hackmd.io/_uploads/rJBUPByAZg.svg" width="200" /> <img src="https://carpentries.github.io/instructor-training/assets/images/carpentries-logo.svg" width="150" />
# Collaborative Document Unix & Git Workshop WUR June 22-23, 2026
Date: June 22-23, 2026.
Location: Wageningen University and Research
Welcome to The Workshop Collaborative Document.
This document is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents.
----------------------------------------------------------------------------
## 🫱🏽🫲🏻 Code of Conduct
Participants are expected to follow these guidelines:
* Use welcoming and inclusive language.
* Be respectful of different viewpoints and experiences.
* Gracefully accept constructive criticism.
* Focus on what is best for the community.
* Show courtesy and respect towards other community members.
## ⚖️ License
All content is publicly available under the Creative Commons Attribution License: [creativecommons.org/licenses/by/4.0/](https://creativecommons.org/licenses/by/4.0/).
## 🖥 Workshop website with program
* [Workshop website](https://4turesearchdata-carpentries.github.io/2026-04-22-tudelft/)
## Pre-workshop survey
Did you already fill in the [pre-workshop survey](https://carpentries.typeform.com/to/wi32rS?slug=2026-06-22-tudelft&typeform-source=4turesearchdata-carpentries.github.io)?
## 🙋Getting help
To ask a question, just raise your hand.
## Instructor
Leila Iñigo de la Cruz, Trainer of Digital Competencies at 4TU.ResearchData
John Bons, Research IT Consultant Department of Built Environment
## Helpers
Dylan Feldner-Busztin, Data Manager in the Research Center for Materials-Driven Regeneration, TU/e
Özgün Balaban, Postdoc, Built Environment, Information Systems in the Built Environment, TU/e
## Ice breaker Day 1
#### On the goat-scale, how are you feeling today?

1. A calm goat.
2. A happy goat.
3. A confused goat.
4. A stressed goat.
5. A focused goat.
6. A tired , need coffe ASAP goat.
**Name / role / github username / icebreaker answer**
## 🗓️ Agenda
April 22, 2026
Day 1 – Unix Shell & Git (Local)
• 09:30 – Welcome, installation check & housekeeping
• 09:45 – Introducing the Unix Shell
• 10:30 – Working with Files and Directories
• 11:15 – Break
• 11:30 – Pipes, Loops and Shell scripts
• 12:00 – Lunch
• 13:00 – Version Control with Git (Local Repositories)
• 14:45 – Break
• 15:00 – Tracking Changes & Commit History
• 16:30 – Wrap-up and End
April 23rd ,2026
Day 2 – Git remotes and Get to know 4TU.ResearchData
• 09:30 – Recap of local Git
• 09:45 – Remotes in Git
• 10:15 – Push/Pull to GitHub
• 10:45 – Break
• 11:00 – Collaboration practices
• 12:00 – Lunch
• 13:00 – Getting to know 4TU.ResearchData: The repository for the Natural Sciences and Engineering in NL.
• 16:00- Post workshop survey
• 16:30 – Wrap up and End
### Why teach Git on the command-line (Unix shell) rather than with a GUI (Graphical User Interface)?:
- **Deep conceptual understanding** (the CLI forces you to perform each Git operation explicitly, so you see exactly how things work, whereas GUIs often bundle actions behind buttons, obscuring the underlying mechanics.)
- **Environment-agnostic skills** (the Unix-shell CLI is consistent across Linux, macOS, Windows (via WSL) and remote/headless systems(HPC servers), while each GUI client has its own interface and may not be available in all environments.)
- **Scriptability for reproducibility and automation**: (CLI commands can be composed into scripts or integrated into automated pipelines—key for reproducible research)
## 🏢 Location logistics
* Coffee and toilets?
* In case of an emergency
* **Wifi**: Eduroam should work. Or tue-guest (4 hour tokens)
## 🧠 Collaborative Notes
- [SSH permission denied publickey](https://docs.github.com/en/authentication/troubleshooting-ssh/error-permission-denied-publickey)
- [Version Control Intro presentation](https://zenodo.org/records/19603828)
- [Unix shell Intro presentation](https://zenodo.org/records/19604954)
## Exercises
### Unix Exercise I
**Relative Path Resolution**
(https://swcarpentry.github.io/shell-novice/instructor/02-filedir.html)
Using the filesystem diagram below :
<img src="https://swcarpentry.github.io/shell-novice/fig/filesystem-challenge.svg" width="350" />
if `pwd` displays `/Users/thing`,what will `ls -F ../backup` display?
1. `../backup: No such file or directory`
2. `2012-12-01 2013-01-08 2013-01-27`
3. `2012-12-01/ 2013-01-08/ 2013-01-27/`
4. `original/ pnas_final/ pnas_sub/`
### Unix Exercise II
**List filenames matching a pattern**
https://swcarpentry.github.io/shell-novice/instructor/03-create.html#operations-with-multiple-files-and-directories
When run in the alkanes directory, which ls command(s) will produce this output?
ethane.pdb methane.pdb
1. ls *t*ane.pdb
2. ls *t?ne.*
3. ls *t??ne.pdb
4. ls ethane.*
### Git exercise I
- Create new repository and use the modify-add-commit cycle.
- Create and initialize a repository called ‘my-repo’
- Create a file ‘research.txt’ with the sentence “Science is awesome”.
- Add and commit the changes. Remember to use a meaningful message.
- Change sentence in ‘research.txt’ to “Science is messy” Add and commit.
- Create a folder called “raw-data”
- Ignore the raw-data folder and commit it
- ( bonus) Check your history log – you should have 3 commits.
## Lesson notes day I
Day 1
## Feedback
Day 1
+ (+) what went well
- (-) what could be improved
## Day 2
### Ice breaker Day 2
#### On the goat-scale, how are you feeling today?

1. A calm goat.
2. A happy goat.
3. A confused goat.
4. A stressed goat.
5. A focused goat.
6. A tired , need coffe ASAP goat.
**Name / icebreaker answer**
### Git exercise II
Final Exercise: Working with Issues and PRs
- Assignment:
- flow
Find issue as person "in the wild" → Fork → Clone → Create branch → Edit → add → commit (repeat) → Push to your fork → Open Pull Request
1. Write an Issue in your patients-analysis repo. Options:
- Add a multiplication function
- Improve calculate_mean with full documentation
- Create a README.md file
2. Pair up:
- Clone or fork each other’s repositories.
- Create a branch, solve the issue.
- Open a Pull Request with your changes.
3. Review and integrate PRs if possible.
4. Reflect:
- What worked well?
- What was confusing?
- Did you encounter merge conflicts?
- How would you improve the process next time?
## Lesson notes day II
## Post-workshop survey
Please fill in the [post-workshop survey](https://carpentries.typeform.com/to/UgVdRQ?slug=2026-06-22-tudelft)
## 📚 Resources
### Workshop materials
[Git Introductory slides](https://zenodo.org/records/19603828)
[Unix Introductory slides](https://zenodo.org/records/19604954)
[4TU.ResearchData slides](https://zenodo.org/records/15010667)
[Carpentry lesson on Unix](https://swcarpentry.github.io/shell-novice/index.html)
[Carpentry lesson on Git](https://swcarpentry.github.io/git-novice/index.html)
### Git and Unix
[Git cheat sheet](https://education.github.com/git-cheat-sheet-education.pdf)
[Unix cheat sheet](https://www.stationx.net/unix-commands-cheat-sheet/)
[Unix for data science](https://datasciencepractice.study/unix-systems.html)
[Git for Matlab](https://nl.mathworks.com/help/matlab/matlab_prog/use-git-in-matlab.html)
[Text editors for software development](https://coderefinery.github.io/installation/editors/#)
[Link to git visializing environment ](https://git-school.github.io/visualizing-git/) Usefull to doublecheck how git flow is working
### Project management with GitHub
[Planning and tracking work for your team or project using GitHub](https://docs.github.com/en/issues/tracking-your-work-with-issues/planning-and-tracking-work-for-your-team-or-project)
[Project planning for developers](https://github.com/features/issues)
### FAIR principles and reproducibility
[Scientific computing](https://scicomp.aalto.fi/scicomp/zen-of-scicomp/)
[Reproducible research video](https://youtu.be/MxZF1gEJoWw)
[Data + Code + Software = PDF - Slides to an overview on integrating data and software into a PDF.](https://zenodo.org/record/5508797)
[5 Recommendations for FAIR software](https://fair-software.nl/)
[Guide for Reproducible Research](https://the-turing-way.netlify.app/reproducible-research/reproducible-research.html)
[4TU.ResearchData community environment](https://community.data.4tu.nl/)
[4TU.ResearchData test environment](https://next.data.4tu.nl/)
[4TU.ResearchData ](https://data.4tu.nl/)
### Web Application Programming Interface (Web API) of 4TU.ResearchData
[Documentation](https://djehuty.4tu.nl/#x1-600005)
### More training we offer at 4TU.ResearchData
[Introduction to programming in research with Python](https://community.data.4tu.nl/introduction-to-programming-in-research-with-python/)
### Documentation about 4TU.ResearchData
[Documentation about 4TU.ResearchData](https://oit.tudelft.nl/FAIR4TU_Submission_Help/main/intro.html)