En bref, chacun a ses propres avantages et inconvénients. Git doit coopérer avec l'entrepôt distant github pour éviter des dommages distribués. Évidemment, la plus grande différence est que git est distribué. svn dispose d'un contrôle des autorisations pour empêcher tout clonage. Git convient au code pur, svn convient à une gestion complète de documents et la combinaison git+svn est parfaite.
Introduction
Linus a créé Linux open source en 1991. Depuis lors, le système Linux a continué à se développer et est devenu le plus grand logiciel système serveur. Bien que Linus ait créé le noyau de Linux, la croissance de Linux repose sur la participation de bénévoles enthousiastes du monde entier. Avec autant de personnes écrivant du code pour Linux dans le monde, comment le code Linux est-il géré ?
Le fait est qu'avant 2002, des bénévoles du monde entier envoyaient des fichiers de code source à Linus via diff, puis Linus lui-même fusionnait le code manuellement ! Vous vous demandez peut-être pourquoi Linus ne met-il pas le code Linux dans le système de contrôle de version ? N'existe-t-il pas des systèmes de contrôle de version gratuits comme CVS et SVN ? Parce que Linus s'oppose fermement à CVS et SVN, ces systèmes de contrôle de version centralisés sont non seulement lents, mais nécessitent également une connexion Internet pour être utilisés. Il existe certains systèmes commerciaux de contrôle de versions. Bien qu'ils soient plus faciles à utiliser que CVS et SVN, ils sont payants et incompatibles avec l'esprit open source de Linux. Cependant, en 2002, le système Linux était développé depuis dix ans. La base de code était si vaste qu'il était difficile pour Linus de continuer à la gérer manuellement. Les frères de la communauté ont également exprimé leur fort mécontentement à l'égard de cette méthode, alors Linus a choisi une méthode. commercial Le système de contrôle de version BitKeeper BitMover, propriétaire de BitKeeper, autorise la communauté Linux à utiliser gratuitement ce système de contrôle de version par esprit humanitaire.
La bonne situation de stabilité et d'unité a été rompue en 2005. La raison en était que la communauté Linux rassemblait beaucoup de gens formidables, et il était inévitable qu'ils soient contaminés par les habitudes d'arts martiaux de certains héros de Liangshan. Andrew, qui a développé Samba, a tenté de cracker le protocole BitKeeper (en fait il n'était pas le seul à le faire), mais a été découvert par BitMover (le travail de surveillance était bien fait !), alors BitMover s'est mis en colère et a voulu reprendre le droits d'utilisation gratuits de la communauté Linux. Linus peut s'excuser auprès de BitMover et promettre de discipliner strictement ses frères à l'avenir. Eh bien, c'est impossible. La situation actuelle est la suivante : Linus a passé deux semaines à écrire un système de contrôle de version distribué en C. Il s'agit de Git ! En un mois, le code source du système Linux a été géré par Git ! Comment définit-on une vache ? Les personnes qui mangent des melons peuvent en faire l’expérience.
Git est rapidement devenu le système de contrôle de version distribué le plus populaire, notamment en 2008, lorsque le site Web GitHub a été lancé, qui fournissait un stockage Git gratuit pour les projets open source. D'innombrables projets open source ont commencé à migrer vers GitHub, notamment jQuery, PHP, Ruby. , etc. L'histoire est tellement accidentelle Si BitMover n'avait pas menacé la communauté Linux à l'époque, nous n'aurions peut-être pas Git gratuit et très facile à utiliser aujourd'hui.
Schéma de structure de composition
- Espace de travail : Un emplacement utilisé pour enregistrer les métadonnées et la base de données d'objets du projet. C'est la partie la plus importante de Git Lorsque vous clonez un référentiel depuis un autre ordinateur, ce sont les données qui sont copiées ici.
- Index local : enregistre les informations de la liste de fichiers à soumettre la prochaine fois, généralement dans le répertoire de l'entrepôt Git. Parfois, on l'appelle aussi « index », mais on l'appelle généralement une zone de transit.
- Entrepôt local, la raison pour laquelle git est rapide est que la plupart des soumissions sont destinées à l'entrepôt local et ne dépendent pas du réseau. La dernière poussée sera vers l'entrepôt distant.
- Entrepôt distant : il peut être considéré comme github, qui est un entrepôt distant qui fournit des services Web permettant à chacun de télécharger, visualiser, soumettre et stocker facilement.
Vérification rapide des commandes
Commandes communes
- Clonez l'entrepôt (pour la première fois) clone clone
- Ajoutez, modifiez et supprimez des fichiers dans le répertoire de travail
- Enregistrez les fichiers temporaires et placez des instantanés de fichiers dans la zone de stockage temporaire, ajoutez Ajouter un nouveau
- Placez le stockage temporaire zone Soumettez le contenu à l'entrepôt local commit Soumettez
- Soumettez le contenu de l'entrepôt local au push de l'entrepôt distant
- Téléchargez le dernier contenu depuis l'entrepôt distant pull
Environnement de configuration Code Cloud
Enregistrez un compte
Tout le monde Vous devez avoir votre propre compte. Commencez par créer un compte sur le site officiel :
https://gitee.com/
Connectez-vous
Installez GIT
Git-2.27.0-64- bit, passez à suivant et cliquez avec le bouton droit sur le bureau après l'installation. Le menu contient les deux éléments suivants et l'installation est terminée. Sélectionnez Git Bash et entrez le client git.
Menu Démarrer de Windows :
Définir la police
Requête git
Créer un entrepôt sur le nuage de code
Créer un entrepôt distant (sur le site officiel de code cloud) )
Créez un entrepôt local (sur votre disque)
Créez un fichier de test et exécutez la commande suivante dans l'entrepôt local :
git config --global user.name "cgblpx" #配置注册时的用户名
git config --global user.email "2250432165@qq.com" #配置注册时的邮箱
git config --list #检查配置信息
mkdir j2ee
cd j2ee
git init #初始化
在本地仓库中,创建文件1.txt
git add 1.txt #新增文件到git中处理
git commit -m "first commit" #提交,设置说明信息
git remote add origin https://gitee.com/nutony/j2ee.git #远程仓库
git push -u origin master #把本地仓库的资源 提交给Git服务器
La zone de nom d'utilisateur et de mot de passe suivante apparaît pour la première fois, remplissez le code Vous pouvez
actualiser la page avec les informations du compte cloud Si la création réussit, l'interface sur Git changera comme suit et l'environnement sera complété
.
Tâches quotidiennes
Tirez les dernières informations avant de commencer à travailler chaque matin Contenu soumis par d'autres membres de l'équipe, soumettez le contenu disponible avant de quitter le travail tous les jours
Nouveaux fichiers
Créez un répertoire de projet, créez un nouveau fichier ou copier un fichier existant ou copier un répertoire existant :
推送
把本地文件上传到远程仓库中:
$ git add . #添加当前目录下文件
$ git commit -m "j2ee part" #提交,设置备注
$ git push -u origin master #推送到远程仓库
拉取/下载
把远程仓库中的内容下载到本地:
$ git pull #从服务器拉取最新内容
常见错误
Authentication failed for
任何路径下输入都可以:
git config --system --unset credential.helper
然后提交操作时,会出现询问框,重新输入用户名提示
failed to push some refs to…
这是是因为readme.md 没有存在在本地git中
git pull --rebase origin master #
$ git push -u origin master #推送到远程仓库
–rebase用在合并代码的时候其作用就是在一个随机创建的分支上处理冲突,避免了直接污染原来的分区。
fatal: remote origin already exists
1、先输入$ git remote rm origin(删除关联的origin的远程库)
2、再输入重新执行 git push -u origin master
3、如果输入第1步 还是报错的话,error: Could not remove config section 'remote.origin'. 我们需要修改gitconfig文件的内容
4、找到你的github的安装路径,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc
5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行删掉就好了!
SSL certificate problem: unable to get local issuer certificate
--执行命令解决: git config --global http.sslVerify false
--重新push: git push -u origin master
邮箱是私有的报错
需要在码云上,把邮箱改成公开的才行
IDEA整合Git
在Gitee创建新的仓库
在网页中创建仓库名称:cgb2109-3
进入workspace
进入workspace,再进入你的项目目录,直接执行clone命令:
git clone https://gitee.com/cgblpx/cgb2109-3.git
也许:
需用执行其他的账号密码等命令
打开IDEA的工程中,你会发现直接就能提交或者拉取代码了
推荐学习:《Git教程》