Je suis complètement novice en matière de GIT, alors excusez ma naïveté. Si je travaille sur un projet hors ligne, que je fais plusieurs commits et que je pousse les changements une fois que je suis de retour en ligne, est-ce que tous les commits apparaîtront dans mon dépôt, ou seulement le dernier que j'ai fait avant de revenir en ligne ?
Réponses
Trop de publicités?Git est un système de contrôle de version distribué. Votre référentiel est entièrement le vôtre, et il contient absolument tout ce dont vous avez besoin. La validation n'a lieu qu'à l'intérieur de votre référentiel ; elle n'a rien à voir avec le fait que vous soyez en ligne ou non.
Les choses pour lesquelles vous devez être en ligne sont le pushing (publication de vos commits vers un autre dépôt) et le pulling (récupération et fusion des commits d'un autre dépôt). Lorsque vous poussez, il va pousser exactement ce que vous lui avez demandé - toutes les modifications sur cette branche. Peu importe quand vous les avez faites ou si votre câble réseau était branché à ce moment-là.
Git est un système de contrôle de version distribué, ce qui signifie que votre copie locale du code est un référentiel de contrôle de version complet. Ces référentiels locaux entièrement fonctionnels permettent de travailler facilement hors ligne ou à distance. Vous livrez votre travail localement, puis synchronisez votre copie du référentiel avec la copie sur le serveur.
Lorsque vous effectuez un commit hors ligne, l'information est stockée dans le répertoire local et lorsque vous vous connectez à l'internet et poussez votre repo local, tous vos commits sont synchronisés avec le répertoire GitHub en ligne.
Ce qui est bien, c'est que vos engagements seront affichés sur le graphique d'activité de la contribution avec la même heure et la même date que vous les avez engagés hors ligne.