J'ai entendu dire que travailler à plusieurs sur le même fichier sur Git n'était PAS DU TOUT recommandé. En effet, au cours de mes projets, j'ai toujours pris l'habitude de travailler sur des fichiers différents avec les autres développeurs car systématiquement, lorsque nous avons travaillé sur le même fichier, résoudre les conflits était EXTRÊMEMENT laborieux et conduisait le plus souvent à la PERTE TOTALE du code du fichier !
C'est pourquoi je me posais la question : Est-ce que Git est conçu pour permettre de travailler à plusieurs sur le même fichier ou non ? Car si ce n'est pas le cas, il n'y a aucun doute sur le fait qu'il ne faut jamais prendre le risque de travailler sur le même fichier...
Je n'utilise pas git, mais, j'avais regardé quelques vidéos et tutos. Alors, certes, il ne faut pas travailler à plusieurs sur un fichier mais en fait, on travaille chacun chez soi en local et ensuite on push sur le dépôt global. Pour que le projet soit sain, on le prépare et on hésite pas à faire des réunions.
Par exemple, tous les samedis à 11h, on fait le point sur l'évolution. Alice a modifié chez elle le fichier A, Bob a modifié chez lui le fichier A dans la semaine. Tout le groupe se réunit, teste ce qu'a fait Alice puis Bob, on ne garde que la meilleure modification, si c'est Alice, Alice push le fichier A modifiée sur le dépôt global, Bob attend que le push soit fini pour qu'il pull (push = pousser, pull = tirer) le dépôt global et obtenir le fichier A d'Alice.
Donc, en local, chacun peut bosser sur le même fichier. Il faut juste éviter d'être individualiste et de push à tout bout de champ.
En conclusion, avec Git on travaille sur des copies de dépôt et donc de son contenu.
Normalement git est capable de fusionner (merge) les modifications sur un même fichier si chacun a changé des parties bien séparées du fichier. Par contre il faut fusionner manuellement si plusieurs personnes ont modifié la même partie du fichier et que git n'arrive pas à fusionner automatiquement.
Mais si plusieurs personnes modifient les mêmes fonctions, ça peut être signe que plusieurs personnes bossent sur les mêmes tâches, ce qui n'est pas optimal en plus d'être chiant à mettre en commun.
Blond, bouclé, toujours le sourire aux lèvres...
Architecte logiciel - Software craftsmanship convaincu.