Ce tutoriel a pour but de vous permettre de push vos projets iOS vers votre repository git via Xcode.

Présence et « Test » Git

Vous devez dans un premier temps vérifier si GIT est installé sur votre Mac pour cela, lancez un terminal.

Lancez la commande : git --version

Dans le cas ou la commande ne renvoi rien; Rendez vous sur : Télécharger GIT

Téléchargez la version selon votre système d’exploitation.
Lors de l’installation vérifiez le chemin d’installation, par défaut : /usr/bin/git

 Mise en place du Source Control sur projet existant.

Nous allons initialiser l’utilisation de GIT sous Android Studio en activant le VCI (pour les projets ayant été initialisé sans version control)

Capture d’écran 2017-06-27 à 10.31.01
Nous allons maintenant vérifier que votre projet embarque bien le Source Control. Dans le cas ou le Source Control présent sur l’image est grisé, nous allons le mettre en place manuellement (version Xcode < 7) :

cd /dossier/vers/projet
git init
git add .
git commit -m "Initial commit"

 

Capture d’écran 2017-06-27 à 11.13.01

 

(version Xcode > 7)
Xcode > Preferences > Source Control

Cochez donc : Enable Source Control / Refresh local status automatically / Add and remove file automatically

 


 Mise en place du Source Control sur projet initial.

 

Lors de la création d’un nouveau projet,  cochez « Create Git repository » qui est logiquement validé par défaut.

Capture d’écran 2017-06-27 à 14.12.36

Initialisation du répertoire local GIT

 

Capture d’écran 2017-06-27 à 14.34.04Nous allons maintenant initialiser le repository coté client :
Source Control > Create Working Copy..

Cette partie par défaut est généralement active

 

 

 

 


Configuration vers le repository serveur

Sélectionnez Source Control > « nom de votre projet » > Configure « nom projet »
Une fois dans le menu, sélectionnez le menu « Remotes » puis le bouton « + ».

Capture d’écran 2017-06-28 à 14.40.18

Capture d’écran 2017-06-28 à 16.46.16Une fois dans le menu d’ajout du remote repository, sélectionnez « Add remotes

Capture d’écran 2017-06-28 à 17.02.24

  /!\ Il est obligatoire de posséder un repository distant vide, tout repository initialisé avec un GitFlow et/ou fichiers vous amenera une erreur.

Configuration de votre premier commit / push.

Vous devez donc faire des modifications sur votre projet pour permettre de réaliser un commit(sur des projets initiaux)
– Notifiez un commit message (1)
– Sélectionnez les fichiers à commit (2)
– Lancez les commit (3)

Capture d’écran 2017-06-28 à 17.38.21

Vous allez maintenant envoyez vos fichiers sur le serveur distant via « Push »
Source Control > Push…

Capture d’écran 2017-06-28 à 18.00.57

Vous pouvez notamment choisir la branche distante selon les configurations du repository, puis envoyer via le bouton « Push ».

Capture d’écran 2017-06-28 à 22.16.12

 

 

Récupération des données distantes.

 

Vous pouvez « pull » un projet iOS distant ou mettre à jour votre projet selon la branche active du projet ou encore activer le gitflow sur projet en récupérant les configurations / fichier du projet distant:
Source Control > « nom de votre projet » > Pull…
Sélectionnez la branche distante et lancez la récupération via le bouton « Pull ».

Capture d’écran 2017-06-29 à 11.34.42Capture d’écran 2017-06-29 à 11.43.32

 

 

 

Configuration de votre branche de développement.

 

Dans le cadre où votre serveur git distant soit configuré sous GitFlow ou toute autre branche soit crée, vous pouvez modifier la branche active de votre projet via :
Source Control > « nom de votre projet » > Switch to Branch…

Vous pouvez donc sélectionner la branche origin en question puis sélectionner avec le bouton « Switch ».

Capture d’écran 2017-06-29 à 11.08.08

Capture d’écran 2017-06-29 à 10.33.06

Vous pourrez donc sélectionner la branche origin de votre choix.

 

Lors de prochains commit/push uniquement les fichiers modifiés seront proposés.

Bon développement !

 

 

ROY Baptiste – CMRP

Ce tutoriel a pour but de vous permettre d’installer un serveur git sur centos/ubuntu puis d’utiliser le logiciel SourceTree depuis votre serveur.

 

Installation de GIT sur CentOS/Ubuntu :

 

Centos :
# yum install git-core
Ubuntu :
# aptget install gitcore

Ajout de comptes utilisateurs pour authentification – nom utilisateur + mot de passe. Chaque utilisateur aura ainsi la possibilité d’accéder au repos crée :

# useradd <nomIdentifiant>
# passwd <nomIdentifiant>

Référence des identifiants entreprise/administrateur apparaissant lors des commits:

# git config --global user.name <nomAdministrateur>
# git config --global user.email <emailAdministrateur>

Vérification de bonne configuration :

# git config --list

Création d’un repo si non présent :

# mkdir -p /opt/git/project.git/
# cd /opt/git/project.git
# git init --bare


 Le dossier git étant le dossier comprenant tout les repos qui seront crées 
par la suite. La racine de l'emplacement pouvant être modifié, 
par exemple dans /home.

 

Configuration de votre dépôt GIT sur SourceTree :

 

Sélectionnez Nouveau dépôt -> Cloner depuis une URL
sourcetree1

Entrez votre accès en SSH de type :

ssh://<identifiant>@<adresseIP/nomDomaine>/<cheminVersProjet>

5 Vous voila connecté sur le repository project.git dans notre cas.
Vous avez maintenant la possibilité de naviguer, observer les modifications faite aux fichiers codes.

Pour un repository vide, glissez vos fichiers dans le répertoire assigné à votre repository sur votre ordinateur (ex: /Users/toto/project)
capture-decran-2016-10-10-a-15-52-02-2

Voici l’exemple d’une insertion de fichiers Android dans SourceTree, certains fichiers se générant automatiquement, il est possible de ne pas les autoriser lors de commit. Pour cela ajouter un fichier .gitignore (ex : touch .gitignore)

Ajoutez maintenant un commit, vous pourrez observer les différentes modifications/commit dans l’onglet historique.

Vous pouvez maintenant envoyer vers le serveur distant votre commit/modifications, en sélectionnant les branches à envoyer.

aa

 

En cas d’erreur sur le push, notamment de permission :

   Création d'un groupe auquel on attribuera les différents droits pour l'attribuer aux utilisateurs.

# groupadd nomGroupe
# usermod -a -G nomGroupe nomUtilisateur


Test d'affiliation au groupe crée.

# groups nomUtilisateur

  Se positionner dans le repository.

# cd repo.git
# sudo chmod -R g+ws *
# sudo chgrp -R nomGroupe *
# git config core.sharedRepository true

Vous pouvez maintenant push /pull .. vos commit/projets.

Pensez à formater vos branches en utilisant l’outils git Flow : repository > git Flow > initialise repository
et tout les outils associés au git Flow.

Les outils de Pull (permettant de mettre à niveau votre code selon les modification push par d’autres utilisateurs, et le Fetch permettant de simplement les afficher pour analyse.

Vous connaissez à présent les bases d’utilisations et la mise en place de git sur votre propre serveur / utilisation de SourceTree.