What does version control mean?
Why do Git and teamwork go hand in hand in data science?
How to use Git in a team
Teamwork and Git belong together in Data Science/Computer Science
GitHub and reproducible data science go hand in hand
There will be the moment when git will safe a lot of time in a big project
Think about your own a experiences with coding and how a system could remove these issues. Also what should this system have if you work with others on one project
Collect your ideas at the course Padlet
Version control is like a special “undo” button for your work.
remembers all the changes you make, so you can always go back to an older version
Lets you and your friends work on the same project without mixing up each other’s changes.
installed locally on your device
keeps track of your file changes
You interact with it via the terminal and control your local repository
Hub = Server where you can find, store and manage repositories
a platform which provides a GUI for your repository and enables users to share code easily
you interact with it via an application or a web browser and control your remote repository
GitHub allows you to have the project repository remotely
Multiple people who have git installed can then access this repository and create a copy
GitHub introduces visual features and eases the project management
staging area = like a container with the changes for the next commit
if you and your teammate work on the same codeline and both push the results to the remote repository, git will detect a merge conflict
conflict = two changes in the same line of the same file
! git will not know the version you prefer
you can create a copy of the current state of the project by cloning or forking
cloning: work in same remote repository
forking: create and work in your own remote repository
it is a question of:
How much control do I want?
How do I want to continue with the project as a collaborator?
fork = you will have complete control over the repository
If you plan to contribute to a target repository you typically clone it
branch: new separate and isolated version of the mother branch
useful for: experimenting, bug fixing, adding features
see it as a structural component for organizing a project
helps to combine changes from two branches into a single branch
current branch: The branch to be merged
target branch: The branch in which we want to merge the current branch
Why F in merged target branch?
= new index for a new commit
R for Bio Data Science