Git est un système de versionnage de code source. Il a été développé par Linus Tarvolds.
Voir aussi :
/usr/bin/git
ou dans /usr/local/git/bin
après l'installation. Ceci peut être vérifié en tapant which git
dans le Terminal.Déjà installé sur Ubuntu 18.04 Server.
$ sudo add-apt-repository ppa:git-core/ppa -y $ sudo apt-get update $ sudo apt-get install git -y
Pour utiliser Git sous Powershell:
On peut aussi configurer Git pour enlever les avertissements du CRLF (warning: CRLF will be replaced by LF
) :
$ git config --global core.safecrlf false
[user] name = Stephane Gariepy email = sgariepy@emailinexistant.ca [credential] helper = !'C:\\Users\\gariepy\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe' [core] excludesfile = C:\\Users\\gariepy\\Documents\\gitignore_global.txt [push] default = simple [http] sslVerify = false sslCAinfo = /bin/curl-ca-bundle.crt
Note: Utiliser les identities
Ouvrir le Terminal et taper :
$ git config --global user.name "<votre nom>" $ git config --global user.email <votre_email>
Pour enlever la configuration de l'utilisateur:
git config --global --unset user.name git config --global --unset user.email git config --global --unset user.signingkey
Pour configurer d'autres valeurs, qui ne sont pas obligatoire aux fonctionnement de Git :
$ git config --global core.editor nano $ git config --global merge.tool vimdiff
Rebase editor:
$ npm i -g rebase-editor $ git config --global sequence.editor rebase-editor
Ajouter une identité (key-pair):
$ gpg --full-gen-key
Liste des key-pairs:
$ gpg --list-secret-keys --keyid-format LONG
Export public key:
$ gpg --armor --export [keyid]
Delete key-pair:
$ gpg --delete-secret-key [keyid]
Ajout d'une identité (remplacer gitlab
par ce qui est approprié):
$ git config --global user.gitlab.name "Your Name" $ git config --global user.gitlab.email "gitlab@example.com" $ git config --global user.gitlab.signingkey 543166183AE7043A
Liste des identités de Git:
$ nano ~/.gitconfig
Source: Setting Up Git Identities
On peut spécifier la configuration pour un dépôt en particulier, il suffit de se rendre dans ce dépôt en ligne de commande et utiliser les mêmes paramètres de git config
sauf sans le --global
.
Le fichier de configuration est stocké dans <chemin_du_depot>/.git/config
.
Pour vérifier la configuration :
$ git config --list
Pour initialiser un dépôt (repository) :
$ git init
$ git add *.c $ git add README $ git commit -m 'Version initiale du projet'
Pour cloner un dépôt, suffit d'utiliser la commande clone
en spécifiant l'URL du dépôt. On peut aussi spécifier le répertoire où seront mis les fichiers, mais ceci est facultatif. Si le répertoire n'est pas spécifié, le dépôt sera dans un répertoire au même nom que le dépôt.
$ git clone <url> [repertoire]
$ git clone /path/to/repository
$ git clone username@host:/path/to/repository
Pour proposer des changements (ajouter à l'index), utiliser
$ git add <filename> $ git add *
Pour effectivement commiter, il faut
$ git commit -m "Message"
C'est commit au HEAD, mais pas sur le dépôt distant.
Les changement sont effectués pour le HEAD localement, il faut donc les pousser vers le dépôt distant :
$ git push origin master
On peut changer master
pour pousser vers une branche spécifique.
$ git remote -v
Pour l'ajout d'un remote de base, par exemple pour origin
:
$ git remote add origin <origin-address>
Le nom du remote par défaut est origin
. Si on veut en ajouter un, suffit de le nommer d'un autre nom, par exemple bitbucket
, openshift
, etc.
$ git remote add <nom-du-remote> -f <url-git-remote> $ git merge <nom-du-remote>/master -s recursive -X ours $ git push <nom-du-remote> HEAD
$ git remote rm <nom-du-remote>
Supprimer des fichiers existants suite à la mise en place d’un .gitignore
:
$ git rm -r --cached . $ git add . $ git commit -am "Remove ignored files"
Anglais | Français |
---|---|
Commit | Committer (deux t) |
Pull | Tirer |
Push | Pousser |
Fetch | Récupérer |
Branch | Branche(r) |
Merge | Fusionner |
Stash | Stash |
Rebase | Rebaser |
Demande de tirage1) | Pull Request |
Source : SourceTree en français.
Gestion des clés pour plusieurs comptes:
$ ssh-keygen -t rsa -C "your_email@youremail.com"
Par exemple, deux clés de créés:
~/.ssh/id_rsa_activehacker ~/.ssh/id_rsa_jexchan
Ajouter :
$ ssh-add ~/.ssh/id_rsa_activehacker $ ssh-add ~/.ssh/id_rsa_jexchan
Source: Multiple SSH Keys settings for different github account
{ "name": "project-name", "version": "1.0.0", "dependencies": { }, "scripts": { "postinstall": ".\\hooks\\postinstall.bat" } }
[core] hooksPath=../hooks/
Ce sont les raccourcis les plus utiles pour le plugin Git de Zsh.