GIT简介


GIT简介

一、GIT概述

1.Version Control

  • 版本控制是一种记录文件内容变化, 以便将来查阅特定版本修订情况的系统
  • 其意义在于从个人开发过渡到团队协作;
  • Git是一种分布式的版本控制工具,支持离线工作,版本控制在本地进行;

2.Git工作机制

  1. 系统组成:
    • 工作区:存放代码的地方;
    • 暂存区:临时存储,用于临时存放你的改动,事实上它是一个文件,保存即将提交的列表信息;
    • 本地库:将暂存区的代码提交到本地库,这里有你提交到所有版本的数据,其中HEAD指向最新放入仓库的版本;
    • 远程库:将本地库的代码推送到远程库,托管代码的服务器;
  2. 常用命令:
    • clone:从远程仓库中克隆代码到本地仓库;
    • checkout:从本地仓库检出一个仓库分支然后进行更新;
    • add:将代码提交到暂存区;
    • commit:将代码提交到本地仓库;
    • fetch:从远程库抓取代码到本地仓库,使用较少;
    • pull:将代码从远程库拉到本地库进行合并(merge),然后放到工作区;
    • push:更新完成后,将代码推送到远程仓库;
  3. 文件状态:
    • Untracked:未跟踪,此文件在文件夹中,但并没有加入到git仓库,不参与版本控制。通过git add 状态变为Staged.
    • Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹完全一致.这种类型的文件有两种去处,如果它被修改,而变为Modified.如果使用git rm 移出版本库,则成为Untracked文件.
    • Modified:文件已修改,仅仅是修改,并没有进行其他的操作.这个文件也有两个去处,通过git add可进入暂存staged状态,使用git checkout,则丢弃修改过,返回Unmodify状态,这个git checkout即从库中取出文件,覆盖当前修改!
    • Staged:暂存状态,执行git commit则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为Unmodify状态。执行git reset HEAD filename取消暂存,文件状态为Modified

      二、Git基础操作命令详解

  4. 查看修改状态(暂存区、工作区):git status
  5. 将代码添加到暂存区:git add xxx

    Attentiongit add .可以一次提交所有修改文件;

  6. 将代码提交到本地仓库:git commit -m "注释内容" xxx

    Attention:xxx(文件名)省略则表明提交所有修改文件;

  7. 查看提交日志:git log [option]
    • --all:显示所有分支;
    • --pretty=oneline:将提交信息显示为一行;
    • --graph:以图的形式显示;
  8. 版本回退:git reset --hard commitID

    Attention
    commitID可以由git log查看;
    git reflog可以查看已经删除的提交记录;
    ③Git 切换版本, 底层其实是移动的 HEAD 指针;

三、Git分支操作

1.What’s Branch

  1. 版本控制过程中,同时推进多个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来, 开发自己分支的时候,不会影响主线分支的运行。
  2. 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

2.分支操作命令详解

  1. 查看本地分支:git branch
  2. 创建本地分支:git branch xxx
  3. 切换分支:git checkout xxx

    Attentiongit checkout -b xxx可以直接切换到一个不存在的分支(创建并切换);

  4. 合并分支:git merge xxx
  5. 删除分支:

文章作者: yangyang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 yangyang !
  目录