Maison développement back-end tutoriel php Git常见相关知识与命令

Git常见相关知识与命令

Nov 07, 2016 am 10:16 AM

安装git程序

ContOS

         Yum install –y epel-release

         Yum install –y git

Ubuntu

         Sudo apt-get install git

Windows上安装

         https://git-scm.com/download/win

安装完成以后还需要最后一步设置

         git config --global user.name "Qiang"//比如Qiang

         git config --global user.email "zhiqiangwang@aliyun.com"//写入到你的邮箱

 

创建版本仓库并推送文件

Mkdir /home/gitroot   //创建目录

Cd /home/gitroot     //进入目录

Git init //用命令初始化。让这个目录编程git可以管理的仓库

Ls –a //可以看到.git目录

Echo –e “QIANG”>1.txt //创建一个文件1.txt

Git add 1.txt //把1.txt添加到仓库中

Git commit –m “add new file 1.txt” //add完了必须要conmit才算真正把文件提交到git仓库里

Echo –e “QIANG QIANG”>> 1.txt //更改1.txt

Git status //查看当前仓库中的状态,比如是否有改动文件

Git checkout --1.txt//将仓库中的1.txt覆盖本地的1.txt

Git diff 1.txt /可以对比1.txt本次修改了什么内容,相比仓库里面的版本

 

删除文件

1.       git add test.txt

2.       git commit -m "add test.txt"

3.       rm test.txt

4.       git status

5.       git rm test.txt

6.       rm 'test.txt'

7.       git commit -m "remove test.txt"

 

上传当前目录下所有文件

1.       git add .

2.       git commit -m "updata all"

3.       git push

 

版本的变更

多次更改1.txt 并进行git add,git commit操作

Git log //可以查看所有提交git仓库的仓库记录操作

Git log –pretty=oneline 一行一行显示

通过git log可以查看到过去提交的所有版本,所以根据这个log可以指定回退某个版本

Git reset –hard d03da70182c1e78d04df1d7eee2f6a972ae4f82b //可以回退该版本,这里是长字符串,可以简写(前5个字符)

Git reflog //可以显示所有的版本

 

文件恢复

当修改1.txt 发现修改的不对,想修改上一次提交的状态

Git checkout –1.txt//恢复到上一次提交的状态

如果1.txt修改完成,保存后,git add 1.txt了 但是没有git commit,再想回退到上一次提交是的状态,可以使用

Git reset HEAD 1.txt

然后再

Git checkout –1.txt

 

文件删除

Echo “QIANG” >2.txt

Git add 2.txt

Git commit –m “add new file 2.txt”

Rm –f 2.txt

Git status

Git rm 2.txt

Git commit –m “delete 2.txt”//彻底删除2.txt

 

创建一个远程的仓库

1.先注册一个免费的仓库https://github.com/或https://git.oschina.net/

2.权限认证,添加key

  github :Setting->SSH and GPG keys->new SSH key->title和key输入进去

  oschina:个人资料->SSH公钥->添加公钥->标题和公钥输入进入

  生成密钥对:ssh-keygen

  Liunx: Cat /root/.ssh/id_rsa

Cat /root/.ssh/id_rsa.pub //公钥

  Windwos:Cat c:/Users/Cmd/.ssh/id_rsa

Cat c:/Users/Cmd/.ssh/id_rsa.pub

添加成功收到邮件

3.创建一个创建链接仓库

  3.1 Mkdir /home/gitroot   //创建目录

3.2 Cd /home/gitroot     //进入目录

3.3 Git init             //用命令初始化。让这个目录编程git可以管理的仓库

3.4 git remote add origin 仓库地址

   git remote add origin git@git.oschina.net:zhiqiangwang/Qiang.git

3.4.1 origin是你的仓库的别名 可以随便改,但请务必不要与已有的仓库别名冲突

3.4.2仓库地址一般来讲支持

3.5 Echo –e “QIANG”>Qiang.txt //新建Qiang.txt

3.6 git add Qiang.txt

3.7 git commit –m “add Qiang.txt”

3.8 git push –u origin master //把本地的Qiang仓库推送到远程Qiang

3.9 Echo –e “QIANG QIANG”>>Qiang.txt //在Qiang.txt后面追加QIANG QIANG

3.10 git add Qiang.txt

3.11 git commit –m “update Qiang.txt”

3.12 git push //把本地的Qiang仓库再次推送到远程Qiang

 

 

克隆一个远程的仓库

  Git clone git@git.oschina.net:zhiqiangwang/Qiang.git

 

分支管理

  Git branch 查看分支

  Git branch wang 创建分支

  git checkout wang 切换wang分支

 

分支合并

  Git merge wang //把wang分支合并到master

  合并常见的问题

1. 如果master分支和wang分支都对Qiang.txt进行编辑,当合并时提示冲突,许先解决冲突才可以继续合并

2.  解决冲突的方法就是在master分支下,编辑Qiang.txt,改为wang分支里面的Qiang.txt的内容,然后提交Qiang.txt,在进行合并

3.  如果master分支更改的内容是我们想要的,可以编辑Qiang.txt内容,改为想要的然后提交,切换到wang分支,然后合并 master分支到wang分支即可。Merge后面跟的分支名字一定是最新的分支

4.  Git branch –d wang //删除分支

5.  Git branch –D wang /如果分支没有合并,强制删除

 

使用分支的原则

 Master分支是非常重要的,线上发布代码的时候才用到这个分支

 Dev分支就是专门用于开发的,重要发布线上之前才会把dev分支合并到master

 开发人员应该才dev的基础上在分支成个人分支,个人分支里面开发代码,然后合并到dev分支

在dev分支合并bob分支命令就是

 Git checkout dev //先切换dev分支

 Git merge bob

 

现场保留

在wang 分支编辑wang.txt

去zhi分支修复bug,所以需要先git add wang.txt

然后 git stash保留现场

再切换zhi分支修复,修复完bug之后,在切回wang分支

Git stash list可以查看我们保留过的现场

Git stash apply 恢复现场

Git syash apply stash@{0} 恢复到指定现场

 

远程分支

git remote –v //查看远程库信息

git ls-remote origin//查看远程分支

推送本地分支wang到远程分支 wang并建立关联关系

a.  远程已有wang分支并且已经关联本地分支wang且本地已经切换到wang

git push

b.  远程已有wang分支但未关联本地分支wang且本地已经切换到wang

git push -u origin /wang

c.  远程没有有wang分支并,本地已经切换到wang

git push origin wang: wang

删除本地分支

git branch –d|-D wang

删除远程分支

git push origin  :wang

git branch -m | -M oldbranch newbranch 重命名分支,如果newbranch名字分支已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名。

 

标签管理

标签类是于快照功能,给一个版本库打一个标签,记录某个时刻的状态,也可以随时恢复该状态

1.  git checkout master 先切换master上

2.  git tag v1.0 给master打上一个标签v1.0

3.  git tag 查看所有的标签

4.  git log –-pretty=oneline –-abbrev-commit//查看历史commit

5.  git tag v0.9 d03da//针对历史commit打标签

6.  git tag –a –m “tag just v1.1” d03da//可以对标签进行描述

7.  git tag –d v0.8删除标签

8.  git push origin v1.0//推送到指定标签远程

9.  git push --tag origin//推送所有标签

10. git tag –d//删除本地标签

11. git push origin : refs/tags/v1.0删除远程标签

 

搭建git服务器

1.  Yum install git

2.  添加git用户,并设置shell为/usr/bin/git-shell,目的是为了不让git用户远程登录

Useradd –s /usr/bin/git-shell

3.  Cd /home/git

4.  创建authorized_keys文件,更改属主,属组合权限,用于存客户端机器上的公钥

5.  Mkdir.ssh

6.  ssh-keygen //使用该命令生成密钥对

7.  touch authorized_keys

8.  cat /home/git/id_rsa.pub>>/home/git/.ssh/authorized_keys.

9.  Chown –R git.ssh或者Chown 600 .ssh/authorized_keys

10. 定义存储git仓库的目录 /data/gitroot

Mkdir /data/gitroot

Cd /data/gitroot

11. Git init –bare sample.git //创建一个裸仓库,裸仓库没有工作区,因为服务器上的git仓库纯粹为了贡献,所以不让用户登录到服务器上改工作区,并且服务器上的git仓库通过以.git结尾

12. Chown –R git.git sample.git

以上操作是在git服务器上做的,平时git服务器不西药开发人员登录去修改代码,他仅仅是充当一个服务器的角色,就像github一样,平时都是在我们自己的pc上做的

在客户端上克隆远程仓库

Git clone git@ip:/data/gitroot/sample.git

此时可以进入sample目录下,这个就是我们克隆远程仓库。进入到这里面进行开发,然后push到远程


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelles bibliothèques sont utilisées pour les opérations du numéro de point flottantes en Go? Quelles bibliothèques sont utilisées pour les opérations du numéro de point flottantes en Go? Apr 02, 2025 pm 02:06 PM

La bibliothèque utilisée pour le fonctionnement du numéro de point flottante dans le langage go présente comment s'assurer que la précision est ...

Gitee Pages STATIQUE Le déploiement du site Web a échoué: comment dépanner et résoudre les erreurs de fichier unique 404? Gitee Pages STATIQUE Le déploiement du site Web a échoué: comment dépanner et résoudre les erreurs de fichier unique 404? Apr 04, 2025 pm 11:54 PM

GiteEpages STATIQUE Le déploiement du site Web a échoué: 404 Dépannage des erreurs et résolution lors de l'utilisation de Gitee ...

Comment exécuter le projet H5 Comment exécuter le projet H5 Apr 06, 2025 pm 12:21 PM

L'exécution du projet H5 nécessite les étapes suivantes: Installation des outils nécessaires tels que le serveur Web, Node.js, les outils de développement, etc. Créez un environnement de développement, créez des dossiers de projet, initialisez les projets et écrivez du code. Démarrez le serveur de développement et exécutez la commande à l'aide de la ligne de commande. Aperçu du projet dans votre navigateur et entrez l'URL du serveur de développement. Publier des projets, optimiser le code, déployer des projets et configurer la configuration du serveur Web.

Quelles bibliothèques de GO sont développées par de grandes entreprises ou fournies par des projets open source bien connus? Quelles bibliothèques de GO sont développées par de grandes entreprises ou fournies par des projets open source bien connus? Apr 02, 2025 pm 04:12 PM

Quelles bibliothèques de GO sont développées par de grandes entreprises ou des projets open source bien connus? Lors de la programmation en Go, les développeurs rencontrent souvent des besoins communs, ...

Comment spécifier la base de données associée au modèle de Beego ORM? Comment spécifier la base de données associée au modèle de Beego ORM? Apr 02, 2025 pm 03:54 PM

Dans le cadre du cadre de beegoorm, comment spécifier la base de données associée au modèle? De nombreux projets Beego nécessitent que plusieurs bases de données soient opérées simultanément. Lorsque vous utilisez Beego ...

Comment résoudre le problème de conversion de type user_id lors de l'utilisation du flux redis pour implémenter les files d'attente de messages dans le langage Go? Comment résoudre le problème de conversion de type user_id lors de l'utilisation du flux redis pour implémenter les files d'attente de messages dans le langage Go? Apr 02, 2025 pm 04:54 PM

Le problème de l'utilisation de Redessstream pour implémenter les files d'attente de messages dans le langage GO consiste à utiliser le langage GO et redis ...

La production de pages H5 nécessite-t-elle une maintenance continue? La production de pages H5 nécessite-t-elle une maintenance continue? Apr 05, 2025 pm 11:27 PM

La page H5 doit être maintenue en continu, en raison de facteurs tels que les vulnérabilités du code, la compatibilité des navigateurs, l'optimisation des performances, les mises à jour de sécurité et les améliorations de l'expérience utilisateur. Des méthodes de maintenance efficaces comprennent l'établissement d'un système de test complet, à l'aide d'outils de contrôle de version, de surveiller régulièrement les performances de la page, de collecter les commentaires des utilisateurs et de formuler des plans de maintenance.

Comment obtenir les données de la région d'expédition de la version à l'étranger? Quelles sont les ressources prêtes à l'emploi disponibles? Comment obtenir les données de la région d'expédition de la version à l'étranger? Quelles sont les ressources prêtes à l'emploi disponibles? Apr 01, 2025 am 08:15 AM

Description de la question: Comment obtenir les données de la région d'expédition de la version à l'étranger? Y a-t-il des ressources prêtes à l'emploi disponibles? Soyez précis dans le commerce électronique transfrontalier ou les entreprises mondialisées ...

See all articles