[LINUX] À propos de la relation entre Git et GitHub

Introduction

** Qu'est-ce que Git ** Outil pour gérer la version du code source ** Qu'est-ce que GitHub ** Service Web qui prend en charge les développeurs utilisant Git

Git et GitHub sont étroitement liés, et ce n'est pas parce que vous utilisez Git que vous devez utiliser GitHub. Comme cela sera décrit plus loin, les services d'hébergement Git existent en plus de GitHub.

Histoire et commodité de la naissance de Git

Comment Git est-il né en premier lieu? Dans ce contexte, confirmons la commodité de Git.

Le créateur de Git est ** Linus Tobals , qui a créé le système d'exploitation Linux. Au départ, il a utilisé un système de gestion de version appelé "BitKeeper" dans le développement du noyau Linux. En raison de problèmes de licence, BitKeeper n'a pas pu être utilisé, donc je cherchais un service alternatif, mais aucun des systèmes de gestion de version gratuite ne pouvait répondre à ses exigences élevées. Par conséquent, M. Tobals lui-même a commencé le développement, et ce qui est né là-bas est " Git **". Alors, qu'est-ce qui rend Git meilleur que les outils de gestion de version traditionnels?

L'avantage de Git est qu'il s'agit d'un ** référentiel distribué **. Traditionnellement, il n'y avait qu'un seul référentiel global, mais Git en a deux, "local" et "distant". Le mérite de ce système décentralisé est que lorsque plusieurs développements de système sont effectués, chaque développeur écrit le code source et l'ajoute au référentiel, donc plus il y a de développeurs, plus ** au référentiel. Les incohérences ** augmentent la probabilité.

Pour éviter de telles incohérences dans le référentiel, chaque développeur enregistre les modifications dans le ** référentiel local ** sur sa propre machine, puis enregistre les modifications dans le ** référentiel distant ** après avoir vu la situation globale. Cela a rendu les choses plus pratiques.

Avec une gestion des versions sans précédent de manière décentralisée, les préoccupations que nous avions avec les outils de gestion traditionnels ont été dissipées et ils sont toujours utilisés en développement à ce jour.

Qu'est-ce que GitHub

Le mot Git donne l'impression qu'il s'agit d'un service dédié, mais il existe d'autres services d'hébergement Git comme celui-ci, et vous n'avez pas besoin d'utiliser GitHub.

GitHub peut effectuer la gestion des versions à l'aide de Git sur le cloud et dispose d'une fonction qui rend Git encore plus facile à utiliser. Parmi elles, les trois fonctions ** «Fork», «Pull Request» et «Merge» ** améliorent la commodité et sont prises en charge par de nombreux utilisateurs.

--Fork: Vous pouvez obtenir (copier) le référentiel de quelqu'un et le modifier. --Pull Request: une fonction qui vous permet de demander des critiques à d'autres membres concernant les modifications du code source que vous avez apportées.


"Fork" pour corriger le code et faire une "pull request" au propriétaire. Le propriétaire qui reçoit la "pull request" "fusionne" le code.


GitHub est également connu comme un endroit pour le codage social, où vous pouvez voir le code source des autres. Cela facilite également le développement dans des sources ouvertes telles que la participation au développement et les commentaires, ce qui est également un avantage de GitHub.

Service d'hébergement Git typique utilisé autre que GitHub

Les différences sélectionnées incluent la différence d'hébergement entre le type de service Web et le type d'installation, la différence dans le VCS correspondant, le référentiel privé gratuit et le format de frais.

Résumé

Git est un outil de gestion de version dont le but est d'améliorer l'efficacité du développement en le décentralisant. GitHub est un service qui l'utilise comme open source pour améliorer la commodité du développement d'équipe et pour former une communauté d'ingénieurs.

Article de référence

Entreprise ITmedia https://www.itmedia.co.jp/enterprise/articles/0504/20/news075.html FERROWS https://job.fellow-s.co.jp/useful_info/feature_detail/Art-0488 Linix.com https://www.linux.com/

Recommended Posts

À propos de la relation entre Git et GitHub
La relation subtile entre Gentoo et pip
À propos de la différence entre "==" et "is" en python
À propos de la différence entre PostgreSQL su et sudo
Étudier la relation entre les dépenses de crème glacée et la température
Examiner la relation entre TensorFlow et Keras pendant la période de transition
[Statistiques] Visualisons la relation entre la distribution normale et la distribution du chi carré.
Examiner la relation entre deux variables (2)
Examiner la relation entre deux variables (1)
J'ai étudié la relation entre le LSTM avec état de Keras et l'état caché
À propos de _ et __
Relation entre netfilter, firewalld, iptables et nftables
Quelle est la différence entre «pip» et «conda»?
Relation entre la conversion des types de données Firestore et Go
À propos du comportement de copy, deepcopy et numpy.copy
À propos du test
Résumé des différences entre PHP et Python
La réponse de "1/2" est différente entre python2 et 3
Visualisons la relation entre le salaire moyen et l'industrie avec des données XBRL et seaborn! (7/10)
À propos de la file d'attente
Quelle est la différence entre Unix et Linux?
Étude de la relation entre le prétraitement de la voix et la précision de la transcription dans l'API Google Cloud Speech
Prise en compte de la différence entre la courbe ROC et la courbe PR
Différence approximative entre Unicode et UTF-8 (et ses compagnons)
Relation entre les opérateurs et les méthodes spéciales, essayez d'appeler une méthode numérique
BERT peut-il comprendre la différence entre «Ame (bonbons)» et «Ame (pluie)»?
Quelle est la différence entre usleep, nanosleep et clock_nanosleep?
Pensez à la nouvelle génération de Rack et WSGI
J'ai examiné le mappage de données entre ArangoDB et Java
Visualisation de la connexion entre le malware et le serveur de rappel
Comment utiliser argparse et la différence entre optparse
Notes personnelles sur l'intégration de vscode et anaconda
Comparez la "relation log et infini" avec Gauche (0.9.4) et Python (3.5.1)
À propos de la classe et de l'instance
Trier la relation entre le lanceur Masaru Yamamoto et chaque équipe par janome et TF-IDF Cosine Similarity
Entre paramétrique et non paramétrique
À propos de cumprod et cummax
À propos de la fonction Déplier
À propos de la commande de service
À propos de la matrice de confusion
À propos du modèle de visiteur
À propos de la validation croisée et de la valeur F
La relation entre la science du cerveau et l'apprentissage non supervisé. Maximisez la quantité d'informations MNIST: Google Colabratory (PyTorch)
Quelle est la différence entre les liens symboliques et les liens durs?
Comprendre la différence entre l'affectation cumulative aux variables et l'affectation cumulative aux objets
Trouvez le commit le plus F-word sur Linux (git et versions ultérieures)
J'ai essayé d'énumérer les différences entre java et python
Différence entre le processus de premier plan et le processus d'arrière-plan compris par principe
Jouez avec le mécanisme de mot de passe de GitHub Webhook et Python
Relation entre Bound / Unbound et la valeur initiale du formulaire Django2