Those questions will try to be resolved by the presentation of Git
https://www.youtube.com/watch?v=4XpnKHJAok8
http://learngitbranching.js.org/
-Linus Torvalds
-Tux, Linux
OpenSouce VCS (version control system) developed by Linus Torvalds for the linux kernel
Software that allows to store a set of files while preserving the chronology of all the modifications that have been made on them.
Initial goal: Keep track of all the modifications that happened on a source code during software development
Extended goal: Keep track of every modification done onto textual documents (Report, Research paper, presentation, etc.).
Wikis (like Wikipedia) also use these versionning management mechanisms on database fields intead on files.
SVN / GIT / Mercurial
These three VCS woek as a client-server application running on a local or remote station. This is called a versionning server.
Works in a decentralized way (unlike SVN) so that each locally hosts a local repository and shares a remote repository(public repository).
This decentralization makes it possible to be resistant to hardware and software failures .
Git allow everyone to work at their own pace, out of sync of a remote repository, while offering a way to developers to exchange their respective jobs and collaborates in a seamless way.
The code history is present on each machine and is updated in an asynchronous way when the user submits a change ( commit ).
WINDOWS
installer : https://git-for-windows.github.io/
Linux
$ sudo apt-get update
$ sudo apt-get install git
$ git config —global user.name “Jean dupont”
$ git config —global user.email “j.dupont@him.com”
git clone https://github.com/impress/impress.js
(if remote repository)
- Git autorise les branches
Git will ignore the files in .gitignore file and don’t them during the git add …
Online repository (remote repository) :
Warning: Us server, so US laws
Git and SVN Server at Gipsa: see the info service
Self-hosting its own git server : https://gitlab.com
As the code that can be public and shared, do not put keys, login, and sensitive data in it.
For the one that are afraid by command line
Git =unpleasant person in British English slang
Linus quoted : “I’m an egotistical bastard, and I name all my projects after myself. First ‘Linux’, now ‘git’.”
Add the files to the local staging area
Move the elements from the staging area to the local repository
Revert to a previous state (or commit)
Save the temporary state of the code.
Copy of an existing repertoire :
git clone ssh://john@example.com/path/to/my-project.git
git remote add origin https://github.com/user/repo.git
git push : push local repository to remote repository
git branch List
Move to another branch :
git checkout another_branch