======GIT Publier sur GitHub pour les nuls====== ===== Ressources ===== ==== Ressources sur ce wiki ==== * **[[GIT|Git]]** ressources générales, et gitorious en particulier. * **[[GIT_pour_aller_plus_loin|Git Niveau 1]]** Des méthodes un peu plus avancées. ==== Ressources externes ==== En français: * [[http://fr.openclassrooms.com/informatique/cours/gerez-vos-codes-source-avec-git|Gérez vos codes sources sur openclassrooms.com]] Résumé des commandes en français: * [[http://www.inspyration.org/tutoriels/mini-tutoriel-sur-git|Mini tutoriel sur inspyration.org]] En anglais: * [[http://gitref.org/basic/|Les bases sur gitref.org]] * [[http://stackoverflow.com/questions/315911/git-for-beginners-the-definitive-practical-guide|Le guide définitif sur stackoverflow.com]] En grand, en anglais: * [[https://www.atlassian.com/git/tutorial/git-basics|Les grandes bases sur atlassian.com]] En grand, en français: * [[http://rogerdudler.github.io/git-guide/index.fr.html|Git par rogerdudler.github.io/]] Bien fait: * [[http://wiki.spheredev.org/Git_for_the_lazy| Pour les paresseux sur spheredev.org]] Les branches: * [[http://www.miximum.fr/enfin-comprendre-git.html|Enfin comprendre git sur miximum.fr]] ===== Installation de git ===== sudo apt-get install git ===== Créer votre projet sur GitHub ===== ==== Création sur github ==== * **Créer un compte sur [[https://github.com/|github]]**. {{media_06:git_main.png?600|Git main.png Git main.png}} * **Cliquer sur +, Create New ...** {{media_05:creer_git.png?200|fig:Creer git.png}} **New Repository** * Saisir un Repository Name : exempleLabo * Une description : Dépot pour exemple Labo * Public * Initialize this repository with a README * Add a License : GPL v2 * Create Repository ==== Clone ==== En bas à droite, copier l'url de clonage: {{media_05:clone_url.png?200|fig:Clone url.png}} Dans le dossier où vous ranger vos projets, qui s'appelle projets, ouvrir un terminal. git clone https://github.com/sergeLabo/exempleLabo.git Vous avez un dossier exempleLabo dans votre dossier projets: ce sera votre dépôt local. ==== Ajout des droits ==== Dans votre terminal, git config --global color.diff auto git config --global color.status auto git config --global color.branch auto git config --global push.default simple Adapter à votre cas: git config --global user.name "votre_pseudo" git config --global user.email moi@email.com Dans le dossier exempleLabo, ouvrir un terminal git status retourne: Sur la branche master Votre branche est à jour avec 'origin/master'. rien à valider, la copie de travail est propre ===== Première publication ===== Ouvrir le README.md, le compléter, enregistrer. ==== Mise à jour de la liste des modifs sur le dépot local ==== Ouvrir un terminal dans le dossier exempleLabo, git commit -a ouvre le fichier de log, voir ci-dessous. ==== Fichier de log ==== Chaque validation de commit ouvre dans nano le fichier ..../COMMIT_EDITMSG Saisir à la première ligne votre commentaire. Ctrl + O pour enregistrer, entrée pour valider le nom par défaut, Ctrl + X pour fermer ==== Envoi sur gihub ==== git push login, mdp ===== Vie de tous les jours ===== ==== Ajouter des fichiers ou un dossier ==== git add /sousdossier/fichier.py git add dossier ==== Ajouter un dossier vide ==== On ne peut pas, mettre un fichier quelconque dans le dossier, et ajouter ce fichier. ==== Supprimer des fichiers ==== git rm /sousdossier/fichiers.py ==== Commit pour remonter vos mises à jour ==== Dans le dossier du projet: * pour savoir où vous en êtes: git status * pour faire la mises à jour sur votre dépots git commit -a ou git commit -m 'Mon commentaire pour ce commit' * pour remonter sur github git push saisir login, mdp ==== Mettre à jour sa copie locale ==== * pour mettre à jour sa copie locale si je n'ai pas fait moi-même de modifs git pull * si j'ai fait des modifs en local que je ne conserve pas, et pour remettre à la version de github git fetch git reset --hard origin/master Attention, cette dernière commande n’est pas réversible et va mettre à plat votre copie de travail pour qu’elle soit l’exacte copie du dernier commit de votre historique. Avec git version 2.23+ git switch -C master origin/master ==== Rythme des commit et push ==== * Un commit après un bout de modif soit plusieurs fois par jour, avant chaque café. * Un push par jour. ===== Quel client GUI ? ===== * [[http://www.git-scm.com/downloads/guis|Liste de Clients GUI]] **Bizarrement, tous les clients Linux ont de gros défauts !** [[http://www.collab.net/products/giteye|GitEye]] est simple pour les débutants. Il n'est pas libre, mais gratuit. C'est en java, donc très long à ouvrir. Il suffit de le télécharger, double clic sur l'éxécutable, ou créer un lanceur. Il fonctionne avec le java libre, il ne demande pas de s'enregistrer, ni d'accepter une license. {{tag> autres_logiciels git sb }}