git版本控制系统

版权声明:请随意转载 https://blog.csdn.net/cheng1804/article/details/82693670

git与svn

svn属于集中化版本控制系统,c/s架构

  • 优点
    适用简单,符合常规思维
    同步代码简单,只需一步操作 
  • 缺点
    数据丢失风险大

git属于分布式版本控制系统

  • 优点
    在网络断开的时候操作不受影响,可以频繁的进行提交更新,等到有网络的时候再上传到远程的镜像仓库就可以了
    文档详细,使用提示到位,使用方便
  • 缺点
    每个人都拥有所有代码,不利于核心代码保密

git相关概念

  • 工作区
    存放git版本仓库的目录就是工作区,随意创建。
  • 版本库
    工作区有一个隐藏目录.git,是Git的版本库。
  • 暂存区
    Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针HEAD。

你的本地仓库主要由三部分组成。
第一个是你的 工作目录,它持有实际文件;
第二个是 缓存区(Index),它像个缓存区域,临时保存你的改动;
第三个HEAD,指向你最近一次提交后的结果。

当使用add命令提交时,先提交到缓存区,然后再使用commit命令提交到本地库。HEAD指向最近一次提交结果,可改变HEAD指向实现版本控制。

git部署

yum install git -y
git config –global user.email “邮箱”   
git config –global user.name “用户名”  配置你的名字和Email地址

git版本库

  1. 创建空目录,当工作区

    mkdir gittest  名字随便

  2. 通过git init命令把这个目录变成Git可以管理的仓库

     cd gittest/
     git init     创建本地库,本地可以push,不可以远程push,可以远程clone
     git init --bare   创建裸库,适合做远程中心仓库,本地不可以push,可以远程push
  3. 在gittest目录下创建一个测试文件readme.txt

    [root@vm20 gittest]# cat readme.txt
    Git is a version control system.
    Git is free software.
  4. 把文件添加到暂存区

    git add readme.txt

  5. 提交文件到仓库分支

    git commit -m “test”   -m 本次提交的说明 必须要写,方便以后回退

  6. 查看git状态

    git status

  7. 查看日志

    git log
    [root@git gittest]# git log
    commit 7416b2dc7ae9e266846c8fe00819531d1ee448e0   id号
    Author: cheng [email protected]              作者  
    Date: Thu Sep 13 13:17:07 2018 +0600           时间
     
    这是我的第一个版本                  描述内容

撤销修改和回退

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改
   用命令git checkout – file。

场景2:当你改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改
  分两步,第一步用命令git reset HEAD file,
      就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,使用版本回退,不过前提是没有推送到远程库。

  1. 查看现在的版本
    git log
  2. 回到想要的版本
      回到上一个版本 git reset - -hard HEAD^
      回到指定的版本 git reset - -hard 6fe5b9a2 (版本id号)
      如果回到此次之后的版本,git log查不到id号,使用git relog

删除文件

从工作区删除test.txt,并且从版本库一起删除

rm -rf test.txt
git rm test.txt
git commit -m “删除文件test.txt”

如果工作去删除test.txt后想找回

git checkout - - test.txt

猜你喜欢

转载自blog.csdn.net/cheng1804/article/details/82693670