or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
Git workflow
Voir dans quelle branche on se trouve
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →master
est la branche par défaut sur tous les repositoriesCréer une nouvelle branche
masuperfeature
Une nouvelle branche du nom de
masuperfeature
est créée et nous nous retrouvons maintenant dedans.Changer de branche
Pour aller dans la branche
coolfeature
(déjà créée) :- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →Voir cet article.
Faire un commit
Pour voir où on en est localement, ie :
untracked
On
add
ensuite tous les fichiers (nouveaux ou modifiés) que l'on veut inclure à notre commit et l'onrm
tous ceux que l'on veut supprimer du répo :Un ultime
git status
avant de faire notre commit histoire de s'assurer que tout est bon (en vert), puis:- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →git status
donne beaucoup d'info y compris certaines commandes comme par ex pour annuler un changement sur un fichier :git checkout -- <file>
Pousser une branche
Pour envoyer nos commits locaux vers le serveur distant (Github) :
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →masuperfeature
pour pousser vers la branche distancemasuperfeature
(même nom).- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →Pousser une branche permet :
Merger une branche dans une autre
Si je veux récupérer le code d'un collègue bossant sur la branche
api
.Dans ma propre branche :
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →pull
, je m'assure par ungit status
de n'avoir aucune modification en cours.Si c'est le cas, je prends le temps de faire un commit AVANT.
Resoudre des conflits (méthode de base)
💥Boom
Lors d'un merge, si 2 développeurs ont modifié la même ligne de code, git ne saura pas quelle version prendre… Il mettra alors le merge en pause, et vous demandera de résoudre les conflits, avant de pouvoir finaliser le merge :
Vous pourrez retrouver la liste des fichiers en conflit par un
git status
:NB : Notez le
Unmerged paths
git status
est vraiment notre meilleur ami, il nous donne toujours de bons conseils 🧚🏼♂️💏Résolution
Si l'on inspecte le fichier en conflit :

- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →Il nous faut réconcilier

v1
etv2
ensemble, tout simplement en éditant le fichier et en enlevant les signes bizarres :🤝Souvent lors de la résolution d'un conflit, on contactera l'auteur avec lequel notre version conflicte pour se mettre d'accord sur la résolution.
✅ commit de merge
Une fois le fichier édité et le conflit résolu, il nous faut marquer le fichier comme mergé et faire un commit de merge (sans message) :
Un petit
git status
vous dira maintenant qu'il n'y a plus de conflit :NB : Notez le message :
use "git commit" to conclude merge
La commande
git commit
sans message de commit, ouvre un éditeur de texteVim
avec un message de commit pré-rempli :Pour sauvegarder le message de commit et quitter Vim, nous appuyons sur les touches :wq
Si l'on aime pas Vim, on peut aussi définir VScode comme éditeur de texte par défaut :
And voilà, le conflit est maintenant résolu 🙌
On oublie pas de pousser le commit de merge, avec que la résolution du conflit puisse profiter à d'autres (et qu'ils n'aient pas à la refaire eux-même) :
Résoudre des conflits (avec
git mergetool
)Le principe reste le même, on des conflits, mais pour la résolution, on va cette fois-ci s'aider d'un outil graphique pour mieux visualiser les 2 versions côte-à-côte…
Configuration
Pour les utilisateurs sous Windows et Ubuntu, vous devrez installer le logiciel Meld et le configurer sur votre machine.
Pour les utilisateurs sous mac, je vous recommande d'utiliser plutôt Filemerge, dont voici les instructions pour le configurer.
NB: Dans les préférences de Filemerge, cochez l'option

Compress white space
:Utilisation
La commande
git mergetool
va pour chacun des fichiers en conflit, démarrer l'interface graphique (Meld ou Filemerge) :qui lancera alors une interface graphique pour résoudre le conflit :

☝️Occupez-vous seulement des blocks en rouge ! Les autres ne sont pas en conflit.
Une fois le conflit résolu, ne pas oublier de +s
sauver
le fichier du milieu avant de +qquitter
l'interface.Si plusieurs fichiers en conflit, il vous faudra quitter entre chaque.
git mergetool
relancera l'interface pour chaque fichier en conflit.👉Idem, on oublie pas ensuite de faire le ✅commit de merge !