1.5 Bob change quelque chose

Bob se dit qu'il peut maintenant changer quelque chose.

Bob vient de synchroniser son dépos avec le dépos principal Repository donc il peut faire des changements sans risquer de tout casser.

Nous allons ajouter une fonction au fichier main.cpp :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <iostream>

using namespace std;

///fonction qui écrit en bleu
/**	@param str : chaîne de caractères à écrire en bleu
*/
void printBleu(const char * str){
	printf("\033[34m%s\033[0m\n", str);
}

int main(int argc, char** argv){
	cout << "Super projet à sauvegarder" << endl;
	printBleu("Truc en bleu");
	return 0;
}

Regardons, ce que nous dit git :

git status 
Sur la branche master
Votre branche est à jour avec 'origin/master'.

Modifications qui ne seront pas validées :
  (utilisez "git add ..." pour mettre à jour ce qui sera validé)
  (utilisez "git checkout -- ..." pour annuler les modifications dans la copie de travail)

	modifié:         main.cpp

aucune modification n'a été ajoutée à la validation (utilisez "git add" ou "git commit -a")

On sauvegarde les changements :

git commit -a -m "Ajout d'une fonction super bien pour afficher du bleu"
[master 01dbf03] Ajout d'une fonction super bien pour afficher du bleu
 1 file changed, 10 insertions(+)

On les envoie sur le dépos distant (enfin plus loin) Repository :

git push
warning: push.default n'est pas défini ; sa valeur implicite change dans Git 2.0
de 'matching' vers 'simple'. Pour supprimer ce message et maintenir
le comportement actuel après la modification de la valeur de défaut, utilisez :

  git config --global push.default matching

Pour supprimer ce message et adopter le nouveau comportement maintenant, utilisez :

  git config --global push.default simple

Quand push.default vaudra 'matching', git poussera les branches locales
sur les branches distantes qui existent déjà avec le même nom.

Dans Git 2.0 Git utilisera par défaut le comportement plus conservatif 'simple'
qui ne pousse la branche courante vers la branche distante que 'git pull' utilise
pour mettre à jour la branche courante.
 
Voir 'git help config' et chercher 'push.default' pour plus d'information.
(le mode 'simple' a été introduit dans Git 1.7.11. Utilisez le mode similaire
'current' au lieu de 'simple' si vous utilisez de temps en temps d'anciennes versions de Git)

Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 519 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To /home/pierre/Documents/PROGRAMMATION/C++/CONSOLE/TEST_GIT_2_utilisateurs/Bob/../Repository/Alice.git/
   0f161d5..01dbf03  master -> master

Quand on ne précise pas de nom de branche, on fait le push sur la branche master.

Euh, Houston, on a un problème ?

il est juste un peu tatillons sur les bords, il nous dit que la fonction push.default n'est pas définie, et qu'il faut choisir entre deux comportements par défaut, et le premier est très bien.

  • git config --global push.default matching : l'ancienne version
  • git config --global push.default simple : la nouvelle version

Moi je me dis que le nouvelle version doit être mieux, donc pourquoi pas faire :

git config --global push.default simple

Histoire qu'il arrête de nous embêter avec ça.