Git的安装与常用命令

Git

  1. 概述:git是一个开源的分布式版本控制系统,用于敏捷高效的处理任何或小或大的项目。git是Linux Torvalds为了帮助管理Linux内核开发的一个开放源码的版本控制软件,git采用分布式版本库的方式,不必服务器端软件的支持

  2. Git与SVN区别

    • Git是分布式的,SVN不是
    • Git把内容按元数据方式存储,而SVN是按文件
    • Git分支和SVN的分支不同
    • Git没有一个全局的版本号,而SVN又
    • Git的内容完整性要优于SVN

Git安装配置

Linux平台上安装

  1. http://git-scm.com/downloads

  2. Debian/Ubuntu

    $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
      libz-dev libssl-dev
    
    $ apt-get install git
    
    $ git --version
    git version 1.8.1.2
    
  3. CentOS/RedHat

    $ yum install curl-devel expat-devel gettext-devel \
      openssl-devel zlib-devel
    
    $ yum -y install git-core
    
    $ git --version
    git version 1.7.1
    
  4. 源码安装

    源码地址:https://git-scm.com/download

    ########## Centos/RedHat ##########
    $ yum install curl-devel expat-devel gettext-devel \
      openssl-devel zlib-devel
    
    ########## Debian/Ubuntu ##########
    $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
      libz-dev libssl-dev
    

    解压安装的源码

    $ tar -zxf git-1.7.2.2.tar.gz
    $ cd git-1.7.2.2
    $ make prefix=/usr/local all
    $ sudo make prefix=/usr/local install
    

Windows平台上安装

  1. https://gitforwindows.org/ 国内镜像:https://npm.taobao.org/mirrors/git-for-windows/。

​ 在菜单里找到“Git”>“Git Bash”,就会弹出Git命令窗口

Git工作流程

  1. 一般工作流程如下
    • 克隆Git资源作为工作目录
    • 在克隆的资源上提添加或修改文件
    • 如果其他人修改了,你可以更新资源
    • 在提交前查看修改
    • 提交修改
    • 在修改完成后,发现错误,可以撤回提交并再次修改并提交

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ODeG5jMO-1628769140480)(D:\typora\image\git工作流程图.png)]

Git工作区,暂存区和版本库

  1. 基本概念:

    • 工作区:就是在电脑上能看到的目录
    • 暂存区:英文叫stage或index 一般存放在==.git==目录下的index文件(.git/index)中,所有暂存区有时也叫索引
    • 版本库:工作区有一个隐藏目录==.git==这个不算工作区,而是Git的版本库

    • 左侧为工作区,右侧为版本库,在版本库中标记为“index”的区域是暂存区(stage/index),标记为“master”的是master分支所代表的目录树
    • 此时“HEAD”实际是指向master分支的一个“游标”。所以图示的命令中出现HEAD的地方可以用master来替代。
    • 图中的objects标识的区域为Git的对象库,实际位于“git/objects”目录下,里面包含了创建的各种对象及内容
    • 当对工作区修改或新增的文件执行git add命令时,暂存区的目录树被更新,同时工作区修改或新增的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中
    • 当执行git commit ,暂时区的目录树写到版本库中,master分支会做出相应的更新,即master指向的目录树就是提交暂存区的目录树
    • 当执行git reset HEAD ,暂存区的目录树会被重写,被master分支指向的目录树所替换,但是工作区不受影响
    • 当执行git rm --cached 命令时,会直接从暂存区删除文件,工作区则不做出改变。
    • 当执行git checkout 或者git checkout – 命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区中的改动
    • 当执行git checkout HEAD 或者 git checkout HEAD,会用HEAD指向的master分支中的全部或者部分文件替换暂存区和以及工作区中的文件,这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。

Git创建仓库

  1. git init
    ## 在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据,其他的项目目录保持不变。
    git init 文件名
    ##指定文件
    
  2. git add 文件名
    ## 如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉 Git 开始对这些文件进行跟踪,然后提交:
    git commit -m '初始化项目版本'
    

    在 Linux 系统中,commit 信息使用单引号 ',Windows 系统,commit 信息使用双引号 "

  3. git clone <repo>
    ## 我们使用 git clone 从现有 Git 仓库中拷贝项目
    
    git clone <repo> <directory>
    ## 如果我们需要克隆到指定的目录,可以使用以下命令格式:
    
    ## repo:Git仓库
    ## directory:本地目录
    

在这里插入图片描述

配置

  1. git config --list
    ## 显示当前的 git 配置信息:
    

在这里插入图片描述

  1. # 编辑 git 配置文件:
    git config -e # 针对当前仓库
    
    git config -e --global # 针对系统上所有仓库
    

Git的基本操作

  1. Git的工作就是创建和保存你项目的快照及与之后的快照进行对比、

  1. 提交,修改

    命令说明
    git add添加文件到仓库
    git status查看仓库当前的状态,显示有变更的文件。
    git diff比较文件的不同,即暂存区和工作区的差异。
    git commit提交暂存区到本地仓库。
    git rest回退版本。
    git rm删除工作区文件。
    git mv移动或重命名工作区文件
  2. 提交日志

    命令说明
    git log查看历史提交记录
    git blame以列表形式查看指定文件的历史修改记录
  3. 远程操作

    命令说明
    git remote远程仓库操作
    git fetch从远程获取代码库
    git pull下载远程代码并合并
    git push上传远程代码并合并

Git分支管理

  1. 创建分支

    git branch (branchname)
    
  2. 切换分支命令

    git checkout (branchname)git checkout -b (branchname)## 创建新分支并立刻切换到该分支下
    

    当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录。

  3. 合并分支

    git merge
    

    你可以多次合并到统一分支, 也可以选择在合并之后直接删除被并入的分支。

  4. 删除分子

    git branch -d (branchname)
    

    使用分支将工作切分开来,从而让我们能够在不同开发环境中做事,并来回切换。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值