Comprendre les bases de Git et GitHub [fermé]

201

Je ne comprends pas complètement le but d'utiliser Git ou Github; Je sais que cela aide à garder une trace de vos changements et c'est utile pour les gens qui collaborent avec d'autres personnes, mais je ne collabore avec personne, donc je ne sais pas si cela serait utile pour moi.

Je travaille habituellement en tant que concepteur / développeur Web, mais je n'ai jamais à collaborer. Je sais que dans Git, vous avez créer, pousser, valider, créer des branches, etc. pour chaque référentiel mais ...

  1. Quelle est la différence entre Git et GitHub?

  2. Git enregistre-t-il chaque référentiel localement (sur la machine de l'utilisateur) et dans GitHub?

  3. Pouvez-vous utiliser Git sans GitHub? Si oui, quel serait l'avantage d'utiliser GitHub?

  4. Comment Git se compare-t-il à un système de sauvegarde tel que Time Machine?

  5. S'agit-il d'un processus manuel, en d'autres termes, si vous ne vous engagez pas, vous n'aurez pas une nouvelle version des modifications apportées?

  6. Si vous ne collaborez pas et que vous utilisez déjà un système de sauvegarde, pourquoi utiliseriez-vous Git?

fs_tigre
la source
peut-être que cela aide quelqu'un à comprendre les différences: pedrorijo.com/blog/git-init
pedrorijo91

Réponses:

254
  1. Quelle est la différence entre Git et GitHub?

    Git est un système de contrôle de version; pensez-y comme une série d' instantanés (commits) de votre code. Vous voyez un chemin de ces instantanés, dans quel ordre ils ont été créés. Vous pouvez créer des branches pour expérimenter et revenir aux instantanés que vous avez pris.

    GitHub, est une page Web sur laquelle vous pouvez publier vos référentiels Git et collaborer avec d'autres personnes.

  2. Git enregistre-t-il chaque référentiel localement (sur la machine de l'utilisateur) et dans GitHub?

    Non, c'est uniquement local. Vous pouvez décider de pousser (publier) certaines branches sur GitHub.

  3. Pouvez-vous utiliser Git sans GitHub? Si oui, quel serait l'avantage d'utiliser GitHub?

    Oui, Git s'exécute localement si vous n'utilisez pas GitHub. Une alternative à l'utilisation de GitHub pourrait être d'exécuter Git sur des fichiers hébergés sur Dropbox, mais GitHub est un service plus rationalisé car il a été spécialement conçu pour Git.

  4. Comment Git se compare-t-il à un système de sauvegarde tel que Time Machine?

    C'est différent, Git vous permet de suivre les changements et votre processus de développement. Si vous utilisez Git avec GitHub, cela devient effectivement une sauvegarde. Cependant, généralement, vous ne pousserez pas tout le temps vers GitHub, auquel cas vous n'avez pas de sauvegarde complète si les choses tournent mal. J'utilise git dans un dossier synchronisé avec Dropbox.

  5. S'agit-il d'un processus manuel, en d'autres termes, si vous ne vous engagez pas, vous n'aurez pas de nouvelle version des modifications apportées?

    Oui, commettre et pousser sont tous deux manuels.

  6. Si vous ne collaborez pas et que vous utilisez déjà un système de sauvegarde, pourquoi utiliseriez-vous Git?

    • Si vous rencontrez une erreur entre git diffles validations, vous pouvez utiliser la commande pour voir les différences entre le code actuel et la dernière validation active, vous aidant à localiser votre erreur.

    • Vous pouvez également revenir au dernier commit de travail.

    • Si vous souhaitez essayer un changement, mais n'êtes pas sûr que cela fonctionnera. Vous créez une branche pour tester votre changement de code. Si cela fonctionne correctement, vous le fusionnez avec la branche principale. Si ce n'est pas le cas, jetez simplement la branche et revenez à la branche principale.

    • Vous avez fait un débogage. Avant de valider, vous examinez toujours les modifications par rapport au dernier commit. Vous voyez votre déclaration d'impression de débogage que vous avez oublié de supprimer.

Assurez-vous de consulter gitimmersion.com .

Davoud Taghawi-Nejad
la source
5
La première section du dernier paragraphe est vraiment un bon point. Vérifiez également git intersectà cet effet.
2
@ H2CO3 Voulez-vous dire git bisect?
Simon Whitaker
1
@SimonWhitaker Oui, c'est une faute de frappe.
47
  1. Quelle est la différence entre Git et GitHub?

    Linus Torvalds vous tuerait pour cela. Git est le nom du programme de gestion de versions qu'il a écrit. GitHub est un site Web sur lequel il existe des référentiels de code source gérables par Git. Ainsi, GitHub est complètement indépendant de l'outil Git d'origine.

  2. Git enregistre-t-il chaque référentiel localement (sur la machine de l'utilisateur) et dans GitHub?

    Si vous validez des modifications, il les stocke localement. Ensuite, si vous poussez les commits, il les sotres également à distance.

  3. Pouvez-vous utiliser Git sans GitHub? Si oui, quel serait l'avantage d'utiliser GitHub?

    Vous pouvez, mais je suis sûr que vous ne voulez pas configurer manuellement un serveur git pour vous-même. Avantages de GitHub? Eh bien, facile à utiliser, beaucoup de gens le connaissent afin que d'autres puissent trouver votre code et le suivre / le bifurquer pour apporter des améliorations également.

  4. Comment Git se compare-t-il à un système de sauvegarde tel que Time Machine?

    Git est spécialement conçu et optimisé pour le code source.

  5. S'agit-il d'un processus manuel, en d'autres termes, si vous ne vous engagez pas, vous n'aurez pas une nouvelle version des modifications apportées?

    Exactement.

  6. Si vous ne collaborez pas et que vous utilisez déjà un système de sauvegarde, pourquoi utiliseriez-vous Git?

    Voir # 4.

svick
la source
5
En fait, vous pouvez utiliser git entièrement local. La seule raison pour laquelle vous utiliseriez github est de publier votre code source. Par exemple pour la collaboration. Si vous ne voulez pas le faire, vous n'avez pas besoin d'un serveur git.
Davoud Taghawi-Nejad
@ DavoudTaghawi-Nejad oui mais je suis sûr qu'OP faisait référence à «sans Github» comme «pas spécifiquement avec GitHub». Je crois également qu'il est évident à partir du # 2 que vous ne pouvez utiliser git que localement.
4
@ DavoudTaghawi-Nejad J'utilise github comme sauvegarde, pas pour la collaboration. S'il y a un feu / etc, le code est sûr.
Thufir
Qu'est-ce que la fonction Github Follow et Fork?
Mou
29
  1. Quelle est la différence entre Git et GitHub?

    Git est un système de contrôle de version distribué. Il s'exécute généralement sur la ligne de commande de votre ordinateur local. Il garde une trace de vos fichiers et des modifications apportées à ces fichiers dans un "référentiel" (ou "repo"), mais uniquement lorsque vous lui demandez de le faire. (En d'autres termes, vous décidez quels fichiers suivre et quand prendre un "instantané" de toute modification.)

    En revanche, GitHub est un site Web qui vous permet de publier vos référentiels Git en ligne, ce qui peut être utile pour de nombreuses raisons (voir # 3).

  2. Git enregistre-t-il chaque référentiel localement (sur la machine de l'utilisateur) et dans GitHub?

    Git est connu comme un système de contrôle de version "distribué" (plutôt que "centralisé") car vous pouvez l'exécuter localement et déconnecté d'Internet, puis "pousser" vos modifications vers un système distant (tel que GitHub) quand vous le souhaitez. Ainsi, les modifications de référentiel n'apparaissent sur GitHub que lorsque vous dites manuellement à Git de pousser ces modifications.

  3. Pouvez-vous utiliser Git sans GitHub? Si oui, quel serait l'avantage d'utiliser GitHub?

    Oui, vous pouvez utiliser Git sans GitHub. Git est le programme "bourreau de travail" qui suit réellement vos modifications, tandis que GitHub héberge simplement vos référentiels (et fournit des fonctionnalités supplémentaires non disponibles dans Git). Voici certains des avantages de l'utilisation de GitHub:

    • Il fournit une sauvegarde de vos fichiers.
    • Il vous donne une interface visuelle pour naviguer dans vos dépôts.
    • Il donne aux autres un moyen de naviguer dans vos dépôts.
    • Il facilite la collaboration de repo (par exemple, plusieurs personnes contribuant au même projet).
    • Il fournit un système de suivi des problèmes léger.
  4. Comment Git se compare-t-il à un système de sauvegarde tel que Time Machine?

    Git sauvegarde vos fichiers, bien qu'il vous donne un contrôle beaucoup plus granulaire qu'un système de sauvegarde traditionnel sur quoi et quand vous sauvegardez. Plus précisément, vous "validez" chaque fois que vous souhaitez prendre un instantané des modifications, et cette validation inclut à la fois une description de vos modifications et les détails ligne par ligne de ces modifications. Ceci est optimal pour le code source car vous pouvez facilement voir l'historique des modifications pour un fichier donné au niveau ligne par ligne.

  5. S'agit-il d'un processus manuel, en d'autres termes, si vous ne vous engagez pas, vous n'aurez pas de nouvelle version des modifications apportées?

    Oui, c'est un processus manuel.

  6. Si vous ne collaborez pas et que vous utilisez déjà un système de sauvegarde, pourquoi utiliseriez-vous Git?

    • Git utilise un puissant système de branchement qui vous permet de travailler simultanément sur plusieurs lignes de développement indépendantes, puis de fusionner ces branches si nécessaire.
    • Git vous permet d'afficher les différences ligne par ligne entre les différentes versions de vos fichiers, ce qui facilite le dépannage.
    • Git vous oblige à décrire chacun de vos commits, ce qui facilite considérablement la traçabilité d'une version précédente spécifique d'un fichier donné (et éventuellement le retour à cette version précédente).
    • Si vous avez besoin d'aide avec votre code, le faire suivre par Git et hébergé sur GitHub facilite la consultation de votre code par quelqu'un d'autre.

Pour commencer avec Git, je recommande le livre en ligne Pro Git ainsi que GitRef comme guide de référence pratique. Pour commencer avec GitHub, j'aime le Bootcamp de GitHub et leurs guides GitHub . Enfin, j'ai créé une courte série de vidéos pour présenter Git et GitHub aux débutants.

Kevin Markham
la source