git的使用介绍

  • 1. git的安装
  • 2. git的操作原理
  • 3. git的具体使用
    • (1)创建仓库
    • (2)将文件添加到版本库中
    • (3)回退版本和恢复版本
    • (4)管理修改
    • (5)版本比较
  • 4. git分支的具体使用
    • (1)分支使用的缘由
    • (2)创建、切换分支
    • (3)在分支上修改文件
    • (4)合并分支
    • (5)删除分支
  1. 什么是git?
    Git是目前世界上最先进的分布式版本控制系统(没有之一)。
  2. 什么是版本控制系统?
    版本控制是将原有的版本记录下来,并且将新版本改动的地方一并记录下来的一种控制系统。更方便我们管理。

1. git的安装

  1. 首先,你可以试着输入git,看看系统有没有安装Git:
 $ git The program 'git' is currently not installed. You can install it by typing: sudo apt-get install git

像上面的命令,Linux会告诉你Git没有安装, 如果用Debian或Ubuntu Linux,通过一条命令就可以直接完成Git的安装。

sudo apt-get install git
  1. 通过命令查看版本号,出现即安装完成。
git version
git version 2.25.1
  1. 设置自己的用户名和邮箱
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

2. git的操作原理


git的四个工作区:

3. git的具体使用

(1)创建仓库

选择一个合适的地方,创建一个空目录,并且初始化

$ mkdir learngit
$ cd learngit
$ pwd /home/xvni-pc/gaoqian/learngit
//这是我的git仓库所在的地方$ git init
Initialized empty Git repository in /home/xvni-pc/gaoqian/learngit/.git/

Git就把仓库建好了,而且是一个空的仓库,并且用ls -a命令发现当前目录下多 了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱 了,就把Git仓库给破坏了。

(2)将文件添加到版本库中


根据上面的方法,当需要修改文件后就可以进行添加和提交。
git log命令查看当前版本及之前的历史版本,因为我自己提交了三次,所以有以下记录:

(3)回退版本和恢复版本

  1. 对版本的理解
  2. 回退版本
git reset --hard HEAD^  //回退到上一个版本
git reset --hard HEAD^^ //回退到上上一个版本


所以就有了以下命令出现,查看所有对版本操作过的命令。

  1. 版本前进
git reset --hard cde752a

(4)管理修改

  1. 当修改了main.c文件并没有添加进本地仓库和提交到远程服务器时,想放弃对工作区的修改,可以进行以下操作:
git checkout main.c

  1. 当将修改的main.c添加到本地仓库中以后,发现问题,想撤回添加可以执行以下命令:
git reset HEAD main.c

  1. 添加文件和删除文件

(5)版本比较

git diff

4. git分支的具体使用

(1)分支使用的缘由

(2)创建、切换分支

  1. 创建和切换分支,用2步。
git branch  //查看分支
git branch dev  //创建分支
git checkout dev  //切换分支

  1. 创建并切换分支
git checkout -b dev

(3)在分支上修改文件

  1. 第一次在分支删修改文件时,没有添加和提交也可以切换到主分支。下面给出了提交之后的结果,在主分支上是看不到代码改变的。

  2. 第二次在主分支上进行修改但没有提交时,是不能切换分支的。

    当切换不成功时,可以用此命令:

git stash  //保护现场
git stash pop //默认恢复最近的一次现场保护之前


注意:一定要注意,在哪里保护的现场,在哪里恢复,不然会污染其他分支。

(4)合并分支

  1. 快速合并:先切换到主分支上,在用此命令合并分支。
git merge dev  //表示合并dev分支

  1. 在多条分支上均有修改代码时的合并分支

(5)删除分支

git branch -d dev

git使用的详细过程相关推荐

  1. git和远程仓库建立连接详细过程

    git和远程仓库建立连接详细过程 建立远程仓库 首先在github/gitee上创建自己的一个仓库,并将自己的路径复制下来,如下图. 建立本地仓库 本地新建文件夹存储工程文件,并且初始化仓库. 打开g ...

  2. vscode编写插件详细过程

    vscode编写插件详细过程 前言 之前编写了一个vscode插件用vscode写博客和发布,然后有园友要求写一篇来介绍如何开发一个vscode扩展插件,或者说介绍开发这个插件的过程.然而文章还没有写 ...

  3. 半小时搞定Yolov5安装配置及使用(详细过程)

    Yolov5安装配置及使用教程(详细过程) 1. 下载Yolov5 1.1 下载Yolov5源码: 1.2 下载Yolov5预训练模型: 2. 安装Yolov5 3. 测试Yolov5 : 3.1 I ...

  4. Ubuntu16.04 安装 CUDA、CUDNN、OpenCV 并用 Anaconda 配置 Tensorflow 和 Caffe 详细过程(此种方案不好,好的方案是另一篇,基于pyhton2的)

    Ubuntu16.04 安装 CUDA.CUDNN.OpenCV 和 Caffe 详细过程(基于Python2,没有anaconda2和3,因为基于anaconda2和3在安装caffe时会报错,很难 ...

  5. Ubuntu16.04 安装 CUDA、CUDNN、OpenCV 并用 Anaconda 配置 Tensorflow 和 Caffe 详细过程

    Ubuntu16.04 安装 CUDA.CUDNN.OpenCV 并用 Anaconda 配置 Tensorflow 和 Caffe 详细过程 1.配置环境 Ubuntu16.04 64-bit系统 ...

  6. 在Windows中初次安装VS Code详细过程及初始化

    前言   嗨,大家好,近期有个基于VUE.js的前端的项目,在Idea中开发比较卡.所以就在本地的Windows环境中的电脑安装了VS Code.详细过程记录下来,供大家参考. VS Code介绍   ...

  7. IDEA中项目集成git提交代码详细步骤

    简介:在团队协作开发的过程中,好的代码管理能更加有效的使日常开发的过程中对各个开发人员提高开发速度.下面将详细介绍在IDEA中使用git提交代码的过程: IDEA中使用git提交代码 一:pull代码 ...

  8. 在Linux配置Git SSH的详细步骤;git配置ssh详细教程;

    在Linux或Mac OS上配置Git SSH的详细步骤如下: 1.打开终端,并输入以下命令检查是否已经在Linux下安装git git --version已安装,则获取git版本信息成功 2.如果已 ...

  9. git pull git push的详细使用

    git pull & git push的详细使用 git pull 常用 pull意为拉,这里引申为拉取代码. 在Git命令中使用pull,会将你的远程代码拉取到本地并进行合并 格式: git ...

最新文章

  1. 使用MySQL Proxy解决MySQL主从同步延迟
  2. LeetCode 144. Binary Tree Preorder Traversal--二叉树前序遍历--反向压栈--迭代-栈,递归--C++,Python解法
  3. 柯美smb扫描出现服务器连接错误_柯尼卡美能达363,正确设置了SMB扫描,文件夹也共享了,但扫描后,显示错误为 登录错误,是为什么...
  4. AlphaGo背后的搜索算法:蒙特卡罗树搜索 alphago 代码
  5. DevExpress v17.2新版亮点——CodeRush篇(二)
  6. php 两个二维数组怎么去重,php 二维数组怎么不去重合并
  7. JAVAWEB技术之七过滤器
  8. 系统服务有多个mysql_windows系统中安装多个Mysql服务
  9. -%3erow mysql_MySQL查询优化
  10. MongoDB初探系列之二:认识MongoDB提供的一些经常使用工具
  11. 华尔街英语学习软件_华尔街英语吧啦吧啦聊点啥:语言学习交流至上
  12. java-实战java高并发程序设计-ch2java并行程序基础
  13. 【软件加密】python制作一个超强的加密软件
  14. MySQL数据库进阶知识
  15. 2019云计算机峰会,计算机学院师生参加“2019华为云城市峰会”
  16. 第三篇 树莓派的串口通信和语音识别模块
  17. C++后端开发(校招实习生)学习路线
  18. 《蟋蟀的xss淫荡教程之如何劫持OSC用户账号》
  19. 个性化海报在爱奇艺视频推荐场景中的实践
  20. 【毕业设计/Matlab系列】基于PCA和BP神经网络的人脸识别系统(附matlab代码)

热门文章

  1. 实施自动化测试的六个目标和意义
  2. windos 2008 vista 下的端口范围改变
  3. Oracle二三事之 12c 可插拔数据库PDB
  4. Jenkins分布式部署配置
  5. CentOS 7 yum安装Zabbix
  6. MySQL性能优化、故障排查及最佳实践秘籍,阿里云数据库专家玄惭的“武功”全记录...
  7. Java Web 程序员的发展趋势分析
  8. [Android]_[初级]_[sdk docs reference api 文档打开慢的解决办法]
  9. 隔行如隔山 -- 乱弹技术,经济,对日外包
  10. 通用数组(练习,可能有错)