美文网首页
Git——内容大纲

Git——内容大纲

作者: 四喜汤圆 | 来源:发表于2019-04-09 21:29 被阅读0次

一、作用

  • 可以建立仓库,保存资料(代码或其他)
  • 可多人协作开发
  • 记录修改历史
  • 分支:可因不同情景分开开发
  • 标签:记录重要里程碑以便参照

二、是什么

世界上最先进的分布式版本控制系统,基于 C 语言开发。

三、使用

1. 相关概念

(1)集中式 VS 分布式
日常生活场景中需要版本控制,而 Git 是一种版本控制工具。

版本控制工具分为分布式(以 Git 为代表)和集中式(以 SVN 为代表),下面从以下几个方面进行比较。

a) 版本库

  • 集中式
    有中央服务器的概念,版本库存储在中央服务器上。

  • 分布式
    没有中央服务器,每个人的电脑上都有完整的版本库。

Q:那么如何协作呢?
A:比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,上面有一个中央仓库,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。

b) 网络依赖

  • 集中式
    网络不连通的话,个人电脑无法从中央服务器更新代码。再者,如果网速慢的话,提交、下载代码等得难受。

  • 分布式
    每个人的电脑都有完整的版本库,这样,工作的时候就不需要联网了。

c)安全性

  • 集中式
    如果中央服务器崩溃了,那版本库也崩溃了。

  • 分布式
    一台电脑崩溃了,直接从另一台电脑上拷贝版本库过来即可。

(2)工作区、暂存区和版本库
工作区(working tree 或 working directory)、暂存区(stage 或 index)、本地仓库、远程仓库。

四者关系 廖雪峰老师的示意图

2. 常用操作

(1) 创建仓库

一个 git 仓库中有.git目录,这个目录是 Git 来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

① 把本地文件夹初始化为仓库

$ git init
Initialized empty Git repository in F:/learngit/.git/

② 把远程仓库 clone 到本地

$ git clone git@github.com:SiXiWanZi/SSHTest.git

(2)向 GitHub 提交代码
Git——向GitHub提交代码

(3) Git 中的后悔药
Git——Git中的后悔药

(4)分支管理
Git——Git分支管理

3. 常用命令

(1)git log
显示从近到远的提交历史。

使用git log --pretty=oneline将提交日志简化。

(2) git reflog
查看命令历史,可记录每一次命令。

(3)git diff

同一分支下:

  • 比较工作区和暂存区
$ git diff

现有两个文件 README.md 和 LICENSE.md,它们都已被添加到了暂存区。分别修改两个两个文件。然后执行指令$ git diff,结果如下,罗列了所有文件的比较情况。

  • 比较工作区和本地版本库

① 工作区和本地仓库最新版本

$ git diff HEAD

② 工作区和本地仓库指定版本

$ git diff <commitId>
  • 比较暂存区和本地版本库

① 暂存区和本地仓库最新版本

$ git diff --cached

② 暂存区和本地仓库指定版本

$ git diff --cached <commitId>
  • 比较本地版本库中不同版本
$ git diff <commitId1> <commitId2>

不同分支下:

  • 比较不同分支下的区别
$ git diff <branch1> <branch2>

(4)配置用户名邮箱
Git 根据用户名和邮箱提交记录,每进行一次 commit 都会产生一条 log,这条 log 标记了提交人的姓名与邮箱,以便其他人方便地查看与联系提交人。所以提交代码之前要设置好自己的姓名和邮箱
git config --global user.name // 配置全局的用户名
git config --global user.email// 配置全局的邮箱
git config --list // 查看已有的配置信息

(5)关于界面的配置
git config --global color.ui true
git config --global core.quotepath false// 显示中文文件名

参考文献

git 官方文档
git flow的使用
廖雪峰的 Git 教程
Git diff 常见用法
图解 Git

相关文章

  • Git——内容大纲

    一、作用 可以建立仓库,保存资料(代码或其他) 可多人协作开发 记录修改历史 分支:可因不同情景分开开发 标签:记...

  • 内容大纲

    规范 知识准备 工具了解 vs code tortoiseGit vue-cli3 storybook 项目准备 ...

  • git 大纲

    一般操作 初始化git仓库 关联远程仓库 添加文件到版本库 添加全部文件到版本库 查看仓库状态 提交代码 推送到远...

  • Why Git? Learn It!

    一次 git 入门使用分享的大纲整理,适合新手入门。 总览 为什么要用 Git? Git + SourceTree...

  • 设备监造大纲内容

    制定监造计划及进行控制和管理的措施 明确设备监造单位,若外委则需签订设备监造委托合同 明确设备监造过程,有设备制造...

  • MySql 培训内容大纲

    为了帮助大家进行数据库查询,我们制定了如下 mysql 培训大纲。 Download Navicat安装下载破解 ...

  • day 02 内容大纲

    今日内容大纲 。 pycharm的安装及简单使用 。 格式化输出 。 while循环 。运算符(and or no...

  • git管理操作大纲

    1.创建项目时. 就勾选了git的项目(没有勾选的,就通过命令行的方式自己加上,这里不做解释.这样既可本地保存了)...

  • 【写作经验】小说大纲的格式及内容概述

    【写作经验】小说大纲的格式及内容概述 大纲的格式与内容概述。 什么叫大纲?大纲是一本小说的根本。他为小说提供了精神...

  • Git学习笔记2-个人易记-上传/更新/修改小结

    改动或新增内容: git add (具体内容名称)// git add . 新增所有 git commi...

网友评论

      本文标题:Git——内容大纲

      本文链接:https://www.haomeiwen.com/subject/eminvqtx.html