Git使用教程,常用的命令

Git教程

01 初步了解给Git

  • 版本控制系统分为分布式版本控制系统和中央版本控制系统。分布式版本控制系统每一个节点都是独立的系统,中央版本控制系统是典型的C/S架构:

  • 从存储空间来说Git比SVN更加占用空间,因为Git在每个端都保留了所有的版本历史,而SVN只在服务器中保存了历史版本记录,在客户端是没有保存本地版本历史的;

  • Git在流行程度、功能丰富方面比 SVN 有优势,在学习难度上, SVN 更占据优势。

02 Git环境的配置

安装Git

  1. Windows安装给Git 下载地址:https://git-scm.com/download/win ,一直点击Next安装即可,安装好在电脑桌面点击鼠标右键点击Git bash Here菜单之后,可以看到一个终端窗口,在终端里面输入命令git —version查看Git的版本
  2. Mac版本Git下载地址:https://git-scm.com/download/mac 安装教程和Win的大体相同
  3. Linux系统
    ubuntu 系统的安装命令如下:
    apt install git
    Centos 系统安装命令如下:
    yum -y install git
    安装完成之后,打开终端,在终端当中输入git —version,如果可以看到 Git 的版本号,说明已经成功安装:

03 认识.git

3.1 创建版本库

我们首先创建文件夹test,这个文件夹用于版本管理的根目录。如果在 Windows 下我们也可以单击鼠标右键,在菜单中选择新建文件夹,然后把文件夹名字改为test就可以了。如果在 Linux 或者 Mac 系统下,可以通过命令mkdir创建文件夹,参考命令如下:
mkdir test && cd test
接下来不管什么系统,都打开终端,并在终端中通过cd命令的方式进入文件夹,然后就可以使用git init命令初始化一个仓库了,参考执行命令如下:
git init
执行命令之后,Git 会进行一系列的初始化操作,当你看到Initialized empty Git repository in /Users/song/test/.git/提示,说明已经成功创建一个版本库

3.1.1 认识.git

在生成的.git目录中,里面包含了整个版本库的信息,我们可以通过命令·cd .git && ls -al进入 .git 文件夹中查看具体有哪些文件:

➜  .git git:(master) ls -al  
total 24  
drwxr-xr-x  10 song  staff  320  6 25 22:11 .  
drwxr-xr-x   3 song  staff   96  6 25 22:11 ..  
-rw-r--r--   1 song  staff   23  6 25 22:11 HEAD  
drwxr-xr-x   2 song  staff   64  6 25 22:11 branches  
-rw-r--r--   1 song  staff  137  6 25 22:11 config  
-rw-r--r--   1 song  staff   73  6 25 22:11 description  
drwxr-xr-x  13 song  staff  416  6 25 22:11 hooks  
drwxr-xr-x   3 song  staff   96  6 25 22:11 info  
drwxr-xr-x   4 song  staff  128  6 25 22:11 objects  
drwxr-xr-x   4 song  staff  128  6 25 22:11 refs  

这些文件夹的作用:

  • HEAD 文件指示目前被检出的分支

  • branches 新版本已经废弃无须理会

  • description用来显示对仓库的描述信息

  • config 文件包含项目特有的配置选项

  • info 目录包含一个全局性排除文件

  • hooks 目录包含客户端或服务端的钩子脚本

  • index 文件保存暂存区信息

  • objects 目录存储所有数据内容

  • refs 目录存储分支的提交对象的指针

3.2基础配置

在建立完项目的版本库之后,后续对代码的管理操作都会要求要有一个身份,所以需要你在管理操作之前,配置一个昵称和邮箱,这个昵称和邮箱仅仅是在查看改动记录时候用的。

3.2.1 查看配置信息

在设置昵称和邮箱之前,可以先检查一下之前有没有配置过昵称和邮箱
查看昵称的命令如下:

git config user.name
查看邮箱的命令如下:

git config user.email
3.2.2 设置配置信息
如果执行上面的命令没有返回相应的昵称和邮箱,说明你还没有配置昵称和邮箱。那么就需要进行配置
配置昵称的命令参考如下:

git config --global user.name “你的昵称”
配置邮箱的命令参考如下:

git config --global user.email “你的邮箱”

3.2.3 修改配置信息

在配置中如果不小心配置错了,或者后面想修改配置的时候,是不能通过重复执行上面的设置昵称命令,来修改昵称的,邮箱修改同理。如果你多次设置昵称,它会在命令执行后提示你无法重复配置或者可能不给你提示,但是这种情况会导致一个 key 配置了多个 value 的问题。

不过,修改的时候,可以通过特定的方式去修改,这里我介绍两种方法, 第一种是通过命令行,第二种是通过修改配置文件。

命令行修改配置
通过命令行修改的方式比较简单,直接执行以下的命令即可

修改昵称参考命令如下:
git config --global --replace-all user.name “your user name”
修改邮箱地址参考命令如下:
git config --global --replace-all user.email"your user email"

修改配置文件
修改文件的方式,主要是修改位于主目录下.gitconfig 文件。在 Linux 和

  • Mac 中,可以通过 vim 命令进行直接编辑,比如vim ~/.gitconfig ;
  • Windows 系统同样位于用户主目录下,假设你当前的用户是administrator,那么对应的配置文件的路径应该是 C:\Users\administrator.gitconfig,可以直接使用记事本修改里边的 name 或者 email。

如果之前已经配置过昵称和邮箱的情况下,当使用 vim 或者记事本打开配置文件之后,可以看到如下配置:
[user]
name = daxia
email =xxxxx@qq.com
在如果有重复的 name 或 email,可以将其删掉,只剩下一个就好。修改完,通过 git bash 输入 git config –list可以查看是否修改成功了。

04 拉取远端代码:使用Git命令下载远程仓库到本地

4.1.1 首次拉取

HTTP 协议首次拉取代码的命令格式如下所示:

git clone 版本库地址 [本地文件夹名称]
参考命令如下所示:
git clone https://gitee.com/songboy/test201907.git httptest

更新代码

假设远程代码有变更,你想把本地代码更新时,可以在本地的版本库目录下通过git pull命令更新,不需要再指定远程地址,参考命令如下

git pull
命令执行完成后,会要求你输入用户名和密码,只有当你输入正确的用户名和密码之后代码才能正常拉取。
在使用git在clone项目的时候出现了让输入用户名和密码,然而密码输入错误导致项目clone不下来.
Windows的解决办法:找到在控制面板\用户帐户\凭据管理器\windows凭据\ 里面删除原来的密码,删除后就可以重新输入密码了

4.1.2 记住密码

如果你不想每次都输入 git 的认证信息,可以设置缓存认证数据,默认记住

  • 15 分钟命令所示:git config –-global credential.helper cache 1
  • 小时的命令:git config credential.helper ‘cache –timeout=3600’
  • 永久记住密码:git config --global credential.helper store

4.2.1 SSH拉取

现在我们再来看看SSH方式,相比HTTP(S)来说更加安全,因为SSH方式使用的是非对称加密,采用公钥与私钥的方式,不过相对来说配置起来会麻烦一些;好处是一次配置之后,后续不需要每次都进行认证,也更加安全。

ssh 方式首次拉取代码的命令没有什么变化,相比来说只是远程地址有变化,如下命令所示

4.2.2 创建一个ssh key

通过 ssh 协议拉取代码首先要保证当前用户的主目录存在一个.ssh的文件夹,并且里面已经存在私钥文件,如果没有的话我们可以通过ssh-keygen,生成一份公钥与私钥,如下命令所示:

➜ ~ ssh-keygen

在执行命令的交互中,可以直接回车使用默认选项,最终会在当前用户目录下生成公钥和私钥,查看生成的公钥的命令为cat ~/.ssh/id_rsa.pub,在返回的信息中可以看到类似如下信息:

cat ~/.ssh/id_rsa.pub

4.2.3 添加公钥到服务器

当确认公钥和私钥生成完毕之后,我们还需要将公钥放到远程的 git 仓库中去,在码云的版本库中,右上角有一个管理,在管理页面的左侧菜单中有一个添加公钥的选项,将公钥内容复制进去

5.1 同步远程代码

一个远程仓库有可能有多人有权限推送,所以存在远程代码比你本地仓库更新,因此在提交代码之前需要先拉取服务器代码,让本地仓库保持最新的版本记录;这样做的目的是为了防止当你提交代码之后,推送到远端出现代码冲突问题,拉取远程代码参考命令如下所示:
git pull

通过git status命令检查一下有哪些文件被改动了,参考命令如下所示:
git status

状态:

  1. Untracked: 未跟踪,一般为新增文件,此文件在文件夹中,
  2. 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
  3. Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作.
  4. deleted: 文件已删除,本地删除,服务器上还没有删除.
  5. renamed:文件名称被改变

git checkout 文件名来撤销更改,参考命令如下:
git checkout README.md

5.2 把文件添加到缓存

提交指定文件或目录至缓存的格式,参考命令如下:
git add index.php

5.3 提交代码

当你将所需要提交的代码都添加到缓存区域后,接下来就可以将代码提交到本地仓库中,参考命令如下所示 :
git commit . -m “这是备注信息”

5.4 推送代码

当代码提交之后,在本地的工作就已经完成了,此时为了让其他人拉取你的代码,通常还需要将代码推送到远程仓库,参考命令如下:
git push

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值