... | ... | @@ -28,7 +28,7 @@ |
|
|
|
|
|
Cette archive contient notamment un fichier `.gitconfig` et des fichiers de code source C. Vous êtes libres d'utiliser ces fichiers ou d'autres dans un langage qui vous est plus familier : vous pourrez dérouler les mêmes commandes Git aussi sur le code de votre choix.
|
|
|
|
|
|
## En solo
|
|
|
## En solo - notions de base
|
|
|
|
|
|
### Configuration
|
|
|
* télécharger et décompresser `waf-c-example.tar.gz`
|
... | ... | @@ -69,6 +69,46 @@ Cette archive contient notamment un fichier `.gitconfig` et des fichiers de code |
|
|
|
|
|
**Notions** : revisions
|
|
|
|
|
|
|
|
|
## Remote
|
|
|
|
|
|
### Partager son dépôt via une forge logicielle : GitHub ou GitLab
|
|
|
* se connecter à [GitHub](https://github.com/) ou [GitLab de l'IN2P3](https://gitlab.in2p3.fr/) ou [GitLab de l'ILM](https://cameleon.univ-lyon1.fr/)
|
|
|
* accéder à son compte :
|
|
|
* d
|
|
|
si nécessaire, créer un nouveau compte (nous détruirons le compte ensuite), sachant qu'en tant que membre du personnel académique vous avez un compte sur [GitLab de l'IN2P3](https://gitlab.in2p3.fr/) accessible via le bouton `Shibboleth`
|
|
|
* créer un nouveau dépôt *waf-c-example* sur la forge logicielle GitHub ou GitLab
|
|
|
* suivre les indications pour pousser le dépôt local (`git remote`, `git push`)
|
|
|
|
|
|
### Optionnel : Partager son dépôt — Manuellement
|
|
|
Il est possible de partager son dépôt en lecture sans passer par un serveur git.
|
|
|
* sortir du répertoire de travail *waf-c-example*
|
|
|
* construire un dépôt nu du projet *waf-c-example* (`git clone --bare`) : *waf-c-example.git*
|
|
|
* cloner localement vers une autre destination le projet nu nouvellement créé (`git clone`)
|
|
|
* [à faire “chez soi”] déposer le dépôt nu sur un serveur http
|
|
|
* [à faire “chez soi”] cloner depuis le serveur http le projet
|
|
|
|
|
|
### Collaborer
|
|
|
* en sous-groupes (2-3 personnes), élire un dépôt central du projet *waf-c-example* sur GitHub ou GitLab
|
|
|
* le propriétaire du dépôt central ajoute ses collaborateurs (*Settings > Collaborators* ou *Members*)
|
|
|
* les membres (sauf le propriétaire) clonent le projet sur leur machine, en dehors du projet existant (`git clone`)
|
|
|
* chaque membre ajoute en local un fichier `README.md` [(1)](http://daringfireball.net/projects/markdown/syntax) qu'il modifie
|
|
|
chaque membre enregistre, et pousse ses modifications (`git push`)
|
|
|
résoudre le conflits (`git fetch`, `git merge`)
|
|
|
|
|
|
### Pull Requests — the GitHub ou Merge Requests - the GitLab way
|
|
|
* en sous-groupes (2-3 personnes), élire un nouveau dépôt central du projet *waf-c-example* sur GitHub ou GitLab
|
|
|
* le propriétaire supprime si nécessaire ses anciens collaborateurs (*Settings > Collaborators* ou *Members*)
|
|
|
* les membres (sauf le propriétaire) *forkent* le projet (bouton *Fork*) puis le clonent en local
|
|
|
* les membres qui ont *forké* modifient le fichier `README.md`, enregistrent, et poussent leurs modifications (vers leurs dépôts respectifs)
|
|
|
* les membres qui ont *forké* effectuent sous GitHub une *Pull Request* (bouton *Pull Requests*, puis *New pull request*), ou sous GiltLab une *Merge Request* (menu *Merge Requests* puis bouton *New Merge Request*)
|
|
|
* le propriétaire du dépôt central accepte ou refuse les *Pull Requests* ou *Merge Requests*
|
|
|
|
|
|
### Enfin
|
|
|
S'il y a eu création de compte : détruire le compte nouvellement créé sous GitHub (Account > Account settings) ou GitLab
|
|
|
|
|
|
## En solo - notions avancées
|
|
|
|
|
|
### On s'est trompé
|
|
|
En fait, on préfère nommer `liba_goodbye` la fonction `liba_byebye`.
|
|
|
* remettre le dépôt à son état précédent juste avant le commit (`git reset HEAD^`)
|
... | ... | @@ -126,41 +166,6 @@ L'historique (`git lo`) montre clairement l'existence d'une branche fusionnée ( |
|
|
* supprimer les branches *happy* et *greetings* (`git branch`)
|
|
|
|
|
|
|
|
|
## Remote
|
|
|
|
|
|
### Partager son dépôt via une forge logicielle : GitHub ou GitLab
|
|
|
* se connecter à [GitHub](https://github.com/) ou [GitLab de l'IN2P3](https://gitlab.in2p3.fr/) ou [GitLab de l'ILM](https://cameleon.univ-lyon1.fr/)
|
|
|
* si nécessaire, créer un nouveau compte (nous détruirons le compte ensuite), sachant qu'en tant que membre du personnel académique vous avez un compte sur [GitLab de l'IN2P3](https://gitlab.in2p3.fr/) accessible via le bouton `Shibboleth`
|
|
|
* créer un nouveau dépôt *waf-c-example* sur la forge logicielle GitHub ou GitLab
|
|
|
* suivre les indications pour pousser le dépôt local (`git remote`, `git push`)
|
|
|
|
|
|
### Optionnel : Partager son dépôt — Manuellement
|
|
|
Il est possible de partager son dépôt en lecture sans passer par un serveur git.
|
|
|
* sortir du répertoire de travail *waf-c-example*
|
|
|
* construire un dépôt nu du projet *waf-c-example* (`git clone --bare`) : *waf-c-example.git*
|
|
|
* cloner localement vers une autre destination le projet nu nouvellement créé (`git clone`)
|
|
|
* [à faire “chez soi”] déposer le dépôt nu sur un serveur http
|
|
|
* [à faire “chez soi”] cloner depuis le serveur http le projet
|
|
|
|
|
|
### Collaborer
|
|
|
* en sous-groupes (2-3 personnes), élire un dépôt central du projet *waf-c-example* sur GitHub ou GitLab
|
|
|
* le propriétaire du dépôt central ajoute ses collaborateurs (*Settings > Collaborators* ou *Members*)
|
|
|
* les membres (sauf le propriétaire) clonent le projet sur leur machine, en dehors du projet existant (`git clone`)
|
|
|
* chaque membre ajoute en local un fichier `README.md` [(1)](http://daringfireball.net/projects/markdown/syntax) qu'il modifie
|
|
|
chaque membre enregistre, et pousse ses modifications (`git push`)
|
|
|
résoudre le conflits (`git fetch`, `git merge`)
|
|
|
|
|
|
### Pull Requests — the GitHub ou Merge Requests - the GitLab way
|
|
|
* en sous-groupes (2-3 personnes), élire un nouveau dépôt central du projet *waf-c-example* sur GitHub ou GitLab
|
|
|
* le propriétaire supprime si nécessaire ses anciens collaborateurs (*Settings > Collaborators* ou *Members*)
|
|
|
* les membres (sauf le propriétaire) *forkent* le projet (bouton *Fork*) puis le clonent en local
|
|
|
* les membres qui ont *forké* modifient le fichier `README.md`, enregistrent, et poussent leurs modifications (vers leurs dépôts respectifs)
|
|
|
* les membres qui ont *forké* effectuent sous GitHub une *Pull Request* (bouton *Pull Requests*, puis *New pull request*), ou sous GiltLab une *Merge Request* (menu *Merge Requests* puis bouton *New Merge Request*)
|
|
|
* le propriétaire du dépôt central accepte ou refuse les *Pull Requests* ou *Merge Requests*
|
|
|
|
|
|
### Enfin
|
|
|
S'il y a eu création de compte : détruire le compte nouvellement créé sous GitHub (Account > Account settings) ou GitLab
|
|
|
|
|
|
|
|
|
|
|
|
# Résumé des commandes et notions abordées
|
... | ... | |