Git版本控制工具使用和常用的操作

Git版本控制工具使用和常用的操作

一,Git是什么

Git是目前世界上最先进的分布式版本控制系统。

工作原理 / 流程:

  • Workspace:工作区
  • Index / Stage:暂存区
  • Repository:仓库区(或本地仓库)
  • Remote:远程仓库

二,SVN与Git的最主要的区别?

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后修改,全部修改完毕后,需要把自己最后确认的更新操作推送到中央服务器。

集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就可能会断流运输了。

Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。

既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

三,如何操作

text
用法:git[--version][--help][-C<路径>][-c<名称>=<取值>]
      [--exec-path[=<路径>]][--html-path][--man-path][--info-path]
      [-p|--paginate|-P|--no-pager][--no-replace-objects][--bare]
      [--git-dir=<路径>][--work-tree=<路径>][--namespace=<名称>]
      <命令>[<参数>]

这些是各种场合常见的Git命令:

开始一个工作区(参见:git help tutorialclone 克隆仓库到一个新目录
  init  创建一个空的Git仓库或重新初始化一个已存在的仓库

在当前变更上工作(参见:git help everydayadd     添加文件内容至索引
  mv      移动或重命名一个文件、目录或符号链接
  restore 恢复工作区文件
  rm      从工作区和索引中删除文件

检查历史和状态(参见:git help revisionsbisect  通过二分查找定位引入bug的提交
  diff    显示提交之间、提交和工作区之间等的差异
  grep    输出和模式匹配的行
  log     显示提交日志
  show    显示各种类型的对象
  status  显示工作区状态

扩展、标记和调校您的历史记录
  branch    列出、创建或删除分支
  commit    记录变更到仓库
  merge     合并两个或更多开发历史
  rebase    在另一个分支上重新应用提交
  reset     重置当前HEAD到指定状态
  switch    切换分支
  tag       创建、列出、删除或校验一个GPG签名的标签对象

协同(参见:git help workflowsfetch   从另外一个仓库下载对象和引用
  pull    获取并整合另外的仓库或一个本地分支
  push    更新远程引用和相关的对象

这些是各种场合常见的Git命令: 开始一个工作区(参见:git help tutorial)   clone 克隆仓库到一个新目录   init 创建一个空的Git仓库或重新初始化一个已存在的仓库 在当前变更上工作(参见:git help everyday)   add 添加文件内容至索引   mv 移动或重命名一个文件、目录或符号链接   restore 恢复工作区文件   rm 从工作区和索引中删除文件 检查历史和状态(参见:git help revisions)   bisect 通过二分查找定位引入bug的提交   diff 显示提交之间、提交和工作区之间等的差异   grep 输出和模式匹配的行   log 显示提交日志   show 显示各种类型的对象   status 显示工作区状态 扩展、标记和调校您的历史记录   branch 列出、创建或删除分支   commit 记录变更到仓库   merge 合并两个或更多开发历史   rebase 在另一个分支上重新应用提交   reset 重置当前HEAD到指定状态   switch 切换分支   tag 创建、列出、删除或校验一个GPG签名的标签对象 协同(参见:git help workflows)   fetch 从另外一个仓库下载对象和引用   pull 获取并整合另外的仓库或一个本地分支   push 更新远程引用和相关的对象

1.创建版本库

什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录(项目目录),这个目录里面的所有文件都可以被Git管理起来,

每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻(版本号)还可以将文件”还原”。

首先要移动到你要创建库的文件目录里面

windows(可以直接右键点击git bash Here 就进入文件目录了)

Linux        (命令行:cd 目录 )

然后文件目录后面 接上 命令:git init 把这个目录变成git可以管理的仓库

2.添加文件到暂存区(需要和版本库区分)

暂存区就是还没确认提交成文件版本号的存储的数据区间

git add name(你的文件名)

git add . 就是整个库目录添加 . 代表了整个目录文件

3.Git库状态

git status

一般来说会显示需要提交的文件(uncommited)和未追踪的文件(untracked) uncommited:已有的,刚被修改尚未提交的 untracked:原先没有的,新建的

这个指令可以看见库文件所有的操作

4.提交文件(生成版本号)

git commit -m “add test.php”

-m表示注释,为提交时的说明,必须要有!

5.删除文件(夹)

git rm test.txt            //删除文件

git rm -r filebook     //删除文件夹

git rm和直接删除的区别在于git rm会将此文件的操作记录删除,而直接删除仅仅是删除了物理文件,没有删除和此文件相关的记录。git rm后会在版本库产生区别(有操作日志),而直接删除没有。

可以用下面两种操作在版本库中删除文件:

git rm test.txt => git commit -m ‘delete a file’

rm test.txt       => git commit -am ‘delete a file’

注意:命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。