【Git版本控制】Git版本控制工具使用说明和规范教程

【Git版本控制】Git版本控制工具使用说明和规范教程

windows环境下的Git版本控制工具使用说明和规范。

一、Git的安装与使用

1.1 前言

SVN是集中式版本控制系统,版本库集中放在中央服务器上,而干活时用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作。

Git则是分布式版本控制系统,即它就没有中央服务器,每个人的电脑就有一个属于自己的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。最终,各自将本地分支先合并,再将合并后的分支推向同名的远程库。

Git和GitHub的区别:Git是分布式版本管理工具,而GitHub是一个网站,可以在github上建立一个网上仓库,然后提交自己的代码到该网上仓库,这样你的每次提交,别人也都可以看到你的代码,同时别人也可以帮你修改你的代码,这种开源的方式非常方便程序员之间的交流和学习。

GitHub是一个非常适合程序员交流的网站,很多国际上的技术大牛都在github上有自己的开源代码,其他人只要申请个账号就可以随意的看到这些大牛写的程序。同时国内的很多互联网公司如百度,阿里等也在github上公布有开源的代码。

Git本地有三个工作区域:工作目录、暂存区、资源库。如果加上远程的Git库就可以分为四个工作区域

  • 工作区(Workspace):就是平时存放项目代码的地方

  • 暂存区(Index/Stage):用于临时存放对文件的改动,事实上就是一个文件,保存即将提交到文件列表信息

  • 资源库(Repository):就是安全存放数据的位置,这里有你提交到所有版本的数据,期中HEAD指向最新放入仓库的版本

  • 远程仓库(Remote Directory):就是托管代码的服务器,简单地说就是项目组中的一台电脑用于远程数据交换

工作区、本地库、远程库三者之间的工作原理及流程如下图:

【Git版本控制】Git版本控制工具使用说明和规范教程_第1张图片

1.2 版本控制

  • 日常生活中,在word里编辑文字,使用Ctrl + z撤销,或者点击撤销按钮,其实也是一个版本控制的例子
  • 我们在开发中修改代码,问了避免出错,都将其先复制一份在进行代码的开发和修改,我们称之为版本更新,一般命名为v1.0 v1.1 ,大的版本变更则命名为 v2.0 v3.0。有必要,因为人工的去处理不同的版本,做相应备份会很麻烦。
  • 对于git来说,版本控制功能更加强大,更加便于版本更新迭代的操作。

1.3 Git安装流程

初次接触Git的用户,请抽出几分钟时间看一下https://git-scm.com/docs 的介绍文档,相信磨刀不误砍柴工。

本文针对Window平台的Git客户端的安装和使用。

Git 下载地址:https://git-scm.com/downloads

window版本下载:https://git-scm.com/download/win

【Git版本控制】Git版本控制工具使用说明和规范教程_第2张图片

下载完成后,双击进行安装

【Git版本控制】Git版本控制工具使用说明和规范教程_第3张图片

安装 Git 并选择所有默认选项,安装完毕后,在系统的任意地方右键点击Git Bash Here在命令行工具中运行 git,如果显示使用信息,则安装完成。

【Git版本控制】Git版本控制工具使用说明和规范教程_第4张图片

【Git版本控制】Git版本控制工具使用说明和规范教程_第5张图片

1.4 Git初始配置

在开始使用 Git 之前,你需要配置 Git。在命令行工具中运行以下每行,确保所有选项都已被配置好。

# 设置你的 Git 用户名
git config --global user.name ""

# 设置你的 Git 邮箱
git config --global user.email ""

# 确保 Git 输出内容带有颜色标记
git config --global color.ui auto

# 对比显示原始状态
git config --global merge.conflictstyle diff3

git config --list

Git 与代码编辑器
最后一个配置步骤是让 Git 能与你的代码编辑器结合使用。以下是三个最热门的代码编辑器。

#Atom Editor 设置
git config --global core.editor "atom --wait"
#Sublime Text 设置
git config --global core.editor "'C:/Program Files/Sublime Text 2/sublime_text.exe' -n -w"
#VSCode 设置
git config --global core.editor "code --wait"

1.5 Git工作流程

  1. 在工作目录中添加、修改文件;
  2. 将需要进行版本管理的文件放入暂存区域;
  3. 将暂存区域的文件提交到Git仓库;
  4. 提交到远程仓库中

因此,Git管理的文件有三种状态,已修改(modified)、已暂存(staged)、已提交(committed)。

【Git版本控制】Git版本控制工具使用说明和规范教程_第6张图片

二、Git的使用操作

序号 Git命令 说明
1 git init 初始化本地版本库。
2 git status 查看当前工作区和暂存区文件的状态。
3 git add ... 可以将文件添加到暂存区。
4 git commit -m ' ' 提交更新。

2.1 初始化Git仓库

  • 这个仓库会存放,git对我们项目代码进行备份的文件
  • 在项目目录右键打开 git bash
  • 命令: git init

【Git版本控制】Git版本控制工具使用说明和规范教程_第7张图片

2.2 Git用户信息配置

  • 就是在git中设置当前使用的用户是谁

  • 每一次备份都会把当前备份者的信息存储起来

  • 命令:

    • 配置用户名:git config --global user.name "xiaoming"
    • 配置邮箱: git config --global user.email "[email protected]"

    查看是否配置成功

    【Git版本控制】Git版本控制工具使用说明和规范教程_第8张图片

2.3 把代码存储到.git仓储中

工作区、暂存区以及版本库三者之间的关系。

**工作区:**就是你在电脑上看到的目录,比如目录testgit下的所有文件(.git版本库目录除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。

**暂存区(stage):**工作区有一个.git隐藏目录,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有就是Git为我们自动创建的第一个master分支。

在Git中每次提交都分为两个步骤:

第一步:用add命令将文件添加到版本库的暂存区

第二步:用commit命令把暂存区的所有内容提交到当前分支上

    1. 把代码放到仓储的门口
    • git add ./readme.md 所指定的文件放到大门口
    • git add ./ 把所有的修改的文件添加到大门口
    1. 把仓储门口的代码放到里面的房间中去
    • git commit -m "这是对这次添加的东西的说明"
    1. add和commit合并写法 可以一次性把我们修改的代码放到版本库
    • git commit --all -m "一些说明"

    • –all 表示是把所有修改的文件提交到版本库

git add ./readme.md // 添加暂存区
git commit -m '提交更新说明' // 提交更新
git status // 查看当前状态

【Git版本控制】Git版本控制工具使用说明和规范教程_第9张图片

2.4 查看当前状态

当暂存区域已经准备妥当可以提交时,在此之前,请一定要确认还有什么修改过的,或新建的文件还没有git add到暂存区,否则提交的时候不会记录这些还没暂存起来的变化。

所以,每次准备提交前,先用git status查看下,需要提交的文件是不是都已暂存起来了,然后再运行提交命令git commit -m '备注信息'

  • 可以用来查看当前代码有没有被放到仓储中去
  • 命令: git status

【Git版本控制】Git版本控制工具使用说明和规范教程_第10张图片

2.5 git中的忽略文件

  • .gitignore,在这个文件中可以设置要被忽略的文件或者目录。
  • 被忽略的文件不会被提交仓储里去.
  • 在.gitignore中可以书写要被忽略的文件的路径,以/开头,
    一行写一个路径,这些路径所对应的文件都会被忽略,
    不会被提交到仓储中
    • 写法
      • /.idea 会忽略.idea文件
      • /js 会忽略js目录里的所有文件
      • /js/*.js 会忽略js目录下所有js文件

2.6 查看提交的日志

  • git log 查看历史提交的日志
  • git log --oneline 可以看到简洁版的日志

【Git版本控制】Git版本控制工具使用说明和规范教程_第11张图片

2.7 回退到指定的版本

  • git reset --hard Head~0

    • 表示回退到上一次代码提交时的状态
  • git reset --hard Head~1

    • 表示回退到上上次代码提交时的状态
  • git reset --hard [版本号]

    • 可以通过版本号精确的回退到某一次提交时的状态
  • git reflog

    • 可以看到每一次切换版本的记录:可以看到所有提交的版本号

注意:通过版本号回退到例如第一版,在想退回到第五版时,需要提前记住版本号,这时在第一版打印git log历史记录提交日志,是看不见后面的版本记录的。但也不必过于担心,可以通过git reflog查看版本的切换记录从而得到版本号

【Git版本控制】Git版本控制工具使用说明和规范教程_第12张图片
【Git版本控制】Git版本控制工具使用说明和规范教程_第13张图片

2.8 Git分支

Git之所以能实现分布式版本控制,就是基于其分支管理策略。本地库所做的操作都是在某分支上进行的,不同分支之间可以合并。可以拉取远程分支到本地,也可以推送本地分支到远程。

git branch  #创建新的分支

git branch -d  #删除已有分支

git checkout  #切换到其它分支上

git checkout -b  #创建并切换分支

git merge  #合并branchName分支到当前分支上

git branch -r #查看远程分支

git branch -a #查看远程及本地的所有分支,当前分支前加"*"号
  • 默认是有一个主分支master

创建分支

  • git branch dev
    • 创建了一个dev分支
    • 在刚创建时dev分支里的东西和master分支里的东西是一样的

切换分支

  • git checkout dev
    • 切换到指定的分支,这里的切换到名为dev的分支
      git branch 可以查看当前有哪些分支

注意:如果在当前分支未提交,切换到其他分支,会将修改的文件和状态一同带到切换的分支中

创建并切换分支

  • git checkout -b dev
    • 创建并切换到该分支中

合并分支

  • git merge dev
    • 合并分支内容,把当前分支与指定的分支(dev),进行合并
    • 当前分支指的是git branch命令输出的前面有*号的分支
  • 合并时如果有冲突,需要手动去处理,处理后还需要再提交一次.

三、工欲善其事必先利其器

工欲善其事必先利其器,工具的熟练掌握、合理利用,修改记录保存完整,后期检索跟踪问题,以及多项目软件切换合并才能简单易操作,才能保证代码的质量。

提交代码到github

本地仓库和远程仓库建立连接

  • git remote add origin <远程库的网址>

把当前分支的内容上传到远程的master分支上

  • git push [地址] master
  • 示例: git push https://github.com/huoqishi/test112.git master
  • git push origin master 默认是origin别名和master主分支(git push)

pull命令拉取远程分支并与本地分支合并

  • git pull [地址] master
  • 示例: git pull https://github.com/huoqishi/test112.git master

clone命令克隆远程库到本地

  • git clone <远程库的网址>

  • 示例: git clone https://github.com/huoqishi/test112.git master

新建一个仓库并提交到远程

echo "# my-study" >> README.md
git init
git add ./README.md
git commit -m 'first commit'
// git commit --all -m 'first commit'
git remote add origin [email protected]:zevs6/my-study.git
git push -u origin master
// git push

你可能感兴趣的:(安装教程,git,linux,版本,github)