Git / Mercurial / Monotone

git est un logiciel de gestion de versions décentralisé. C'est un logiciel libre créé par Linus Torvalds, auteur du noyau Linux, et distribué selon les termes de la licence publique générale GNU version 2. En 2016, il s’agit du logiciel de gestion de versions le plus populaire qui est utilisé par plus de douze millions de personnes.

Contenu soumis à la licence CC-BY-SA. Source : Article Git de Wikipédia en français (auteurs)

Mercurial est un logiciel de gestion de versions décentralisé disponible sur la plupart des systèmes Unix et Windows. Le créateur et principal développeur de Mercurial est Matt Mackall. C'est un logiciel libre, l'ensemble des sources du logiciel étant sous la GNU GPL version 2. Mackall met à disposition Mercurial pour la première fois le 19 avril 2005, seulement quelques jours après que le développement de Git a commencé.

Contenu soumis à la licence CC-BY-SA. Source : Article Mercurial de Wikipédia en français (auteurs)

Monotone (abrégé mtn) est un logiciel de gestion de versions décentralisé. C'est un logiciel libre distribué selon les termes de la licence GNU GPL.

Contenu soumis à la licence CC-BY-SA. Source : Article Monotone (logiciel) de Wikipédia en français (auteurs)

FonctionnalitéCommande Git Commande Mercurial (hg)
Create a new local directorygit inithg init
Connect your local repository to a remote servergit remote add origin <server_URL>hg push <server_URL>
Copy a remote repository to your local systemgit clone <URL_to_repository>hg clone <URL_to_repository>
Add a specific file to staging (Git) or after a new file is created (Hg)git add <filename>hg add <filename>
Add all changes to staging (Git) or all new files (Hg)git add –allhg add
Commit changes locallygit commit -m '<message>'hg commit -m “<message>“
Push changes to your remote repositorygit push <remote_name> <branch_name> (usually: git push origin master)hg push
List the status of the files you've changed and those you still need to add or commitgit statushg status
Create a new branch (Git) or bookmark (Hg) and switch to itgit checkout -b <branch_name>hg bookmark <bookmark_name>
Switch from one branch or bookmark to anothergit checkout <branch_name>hg bookmark <bookmark_name>
List all the branches/bookmarks in your repo with an indication of the one you are ongit branchhg bookmarks
Delete the feature branch/bookmarkgit branch -d <branch_name>hg bookmark -d <bookmark_name>
Push the branch/bookmark to your remote repositorygit push origin <branch_name>hg push -B <bookmark_name>
Fetch and merge changes on the remote server to your working directorygit pullhg pull -u
Merge two different revisions into onegit mergehg merge
Show all changes made since the last commitgit diffhg diff