玩转Git入门篇

最近项目使用到Git管理项目,所以就学习了一番,随然网上关于 Git的文章铺天盖地,我还是整理下总结下自己学习Git相关笔记,希望也能帮助到需要他的小伙伴们,O(∩_∩)O~

简介

Git 是分布式版本控制和源代码管理系统,重点使用和管理代码的速度。 Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发。Git 是根据GNU通用公共许可证版本2的条款分发的自由/免费软件。

Git官方网址是:https://git-scm.com/

Git的术语

Workspace:工作区

Index/Stage:暂存区,也叫索引

Repository:仓库区(或本地仓库),也存储库

Remote:远程仓库

工作区: 通过git
init
创建的代码库的所有文件但是不包括.git文件(版本库)

暂存区: 通过git add ./*/*Xxx/Xxxx* 添加的修改,都是进入到暂存区了,肉眼不可见 通过 git
status
 可以看到修改的状态。

版本控制演变

本地版本控制系统

集中化的版本控制系统

诸如:CVSSubversion(SVN)以及 Perforce 等

缺点是中央服务器的单点故障。

分布式版本控制系统

像 GitMercurialBazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。 任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。,许多这类系统都可以指定和若干不同的远端代码仓库进行交互。

Git 保证完整性

Git 中所有数据在存储前都计算校验和,然后以校验和来引用。 这意味着不可能在 Git 不知情时更改任何文件内容或目录内容。

Git 用以计算校验和的机制叫做 SHA-1 散列(hash,哈希)。 这是一个由 40 个十六进制字符(0-9 和 a-f)组成字符串,基于 Git 中文件的内容或目录结构计算出来。

SHA-1 哈希看起来是这样:

24b9da6552252987aa493b52f8696cd6d3b0037

实际上,Git 数据库中保存的信息都是以文件内容的哈希值来索引,而不是文件名。

三种状态

已提交(committed):表示数据已经安全的保存在本地数据库中。

已修改(modified):已修改表示修改了文件,但还没保存到数据库中。

已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。

Git工作区

Git 仓库目录: Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。

工作目录:对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。

暂存区域:是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。 有时候也被称作‘索引’,不过一般说法还是叫暂存区域。

基本的 Git 工作流程如下:

  1. 在工作目录中修改文件。
  2. 暂存文件,将文件的快照放入暂存区域。
  3. 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。

Git安装

本文只列出windows下安装方法,其他环境安装可以自己去找度娘,自己动手,丰衣足食嘛。

在 Windows 上安装 Git 也有几种安装方法。 官方版本可以在 Git 官方网站下载。 打开 http://git-scm.com/download/win ,下载会自动开始。 要注意这是一个名为 Git for Windows的项目(也叫做 msysGit),和 Git 是分别独立的项目;更多信息请访问 http://msysgit.github.io/ 。

另一个简单的方法是安装 GitHub for Windows。 该安装程序包含图形化和命令行版本的 Git。 它也能支持 Powershell,提供了稳定的凭证缓存和健全的 CRLF 设置。 稍后我们会对这方面有更多了解,现在只要一句话就够了,这些都是你所需要的。 你可以在 GitHub for Windows 网站下载,网址为 http://windows.github.com 。

Git使用前配置

Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。 这些变量存储在三个不同的位置:

/etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置。 如果使用带有 --system 选项的 git config 时,它会从此文件读写配置变量。

~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。 可以传递--global 选项让 Git 读写此文件。

当前使用仓库的 Git 目录中的 config 文件(就是 .git/config):针对该仓库。

每一个级别覆盖上一级别的配置,所以 .git/config 的配置变量会覆盖 /etc/gitconfig 中的配置变量。

在 Windows 系统中,Git 会查找 $HOME 目录下(一般情况下是 C:\Users\$USER)的 .gitconfig 文件。 Git 同样也会寻找 /etc/gitconfig 文件,但只限于 MSys 的根目录下,即安装 Git 时所选的目标位置。

设置用户信息

当安装完 Git 应该做的第一件事就是设置用户名称与邮件地址。每一个 Git 的提交都会使用这些信息。

$ git config --global user.name "lintaiyang"

$ git config --global user.email [email protected]

文本编辑器

$ git config --global core.editor emacs

检查配置信息

语法:git config –list

$ git config --list

core.symlinks=false

core.autocrlf=true

……….

可以通过输入 git config <key> 来检查 Git 的某一项配置。

Git客户端图形化操作程序TortoiseGit官网下载地址http://tortoisegit.org/download/。下载之后,安装步骤很简单。安装完成之后,从桌面右键打开TortoiseGit的setting设置。

首先需要设置的是用户信息, 没有用户信息, 用户名、邮箱设置,无法完成其他操作。其他的设置自己可以去点击看看。

这个我们就可以通过图形化的操作程序界面玩转Git管理项目的每个操作。

获取帮助

在操作Git过程中,如果我们对某个命令或者参数不清楚使用方法,在Git中有三种方法周到Git的使用手册。

$ git help <verb>

$ git <verb> --help

$ man git-<verb>

接下来我们通过Git快速入门掌握Git在实际管理项目中的是如何操作的。

原文地址:https://www.cnblogs.com/guanzhyan/p/8996489.html

时间: 2024-10-09 20:52:10

玩转Git入门篇的相关文章

Git入门篇之环境搭建&基本功能的使用

网上关于GitHub的使用教程还是比较丰富,不过部分教程比较陈旧抑或写得不够详细,在我实践的过程中遇到了一些麻烦,记录下来,当是自己的一个总结吧,也供大家参考.欢迎留言交流. 本文主要讲解Windows Msysgit软件平台的使用,windows的GitHub for Windows方式和苹果系统的Github或git方式也在用,这方面网上的教程比较丰富,也就不做过多阐述了,欢迎留言讨论. Windows版本: 在windows中搭建Git环境使用Github有两种方式: 方式一: GitHu

跟 UMU 一起玩 OpenWRT(入门篇8):网络摄像机

买了一个微软 LifeCam HD-3000,已经过了视频聊天的年纪,插到 DIR-505 玩一下吧. 安装过程出奇简单: opkg update opkg install kmod-video-uvc 如果安装失败,看看是不是固件应该升级了,请参考<跟 UMU 一起玩 OpenWRT(入门篇5):升级固件>. 插上摄像头,检查一下 /dev/video0 是否存在,如果不存在,reboot 一下,如果存在,接下来安装和运行应用: opkg install mjpg_streamer # 使用

git入门篇-----本地操作

一 ,git的简介 1 ,git的历史 概念性的知识,大家百度一下,就会出现好多优秀的文章供参考,这里我就不多说了. 如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了. 2,集中式vs分布式 CVS及SVN--------集中式的版本控制系统 Git          -------- 分布式版本控制系统 区别: 集中式的版本控制:版本库在中央服务器上,连接服务器进行check和commit操作(前提网速必须可以,要不然提交一段代码,就得等好长时间.

跟 UMU 一起玩 OpenWRT(入门篇12):文件共享

文件共享可以通过 FTP.NFS.SAMBA,第一个需要先下载,无法"直接打开",实用性比较差就不介绍了,重点放在 SAMBA,最后再简单介绍一下 NFS. SAMBA 安装主要参考:http://wiki.openwrt.org/doc/uci/samba,或者中文介绍:http://www.leiphone.com/diy-a-smart-router-topic-share.html 的"安装 Windows 文件共享"章节. NFS 和 SAMBA 是两大文

微信小程序入门篇

微信小程序入门篇: 准备工作 IDE搭建 就不多说了,没有内测码去下载个破解版吧,我用了一下,学习完全够了!IDE破解版+安装教程 图片发自简书App 知识准备 JavaScrip还是要看看的,推荐教程 廖雪峰大神的博客 HTML+CSS 大概知道是干啥的就行 从零开始 微信小程序中就四种类型的文件 js ---------- JavaScrip文件 json -------- 项目配置文件,负责窗口颜色等等 wxml ------- 类似HTML文件 wxss ------- 类似CSS文件

Spring Boot干货系列:(一)优雅的入门篇

Spring Boot干货系列:(一)优雅的入门篇http://www.cnblogs.com/zheting/p/6707032.html  全篇参考:http://www.cnblogs.com/zheting/category/966890.html 前言 Spring一直是很火的一个开源框架,在过去的一段时间里,Spring Boot在社区中热度一直很高,所以决定花时间来了解和学习,为自己做技术储备.   正文 首先声明,Spring Boot不是一门新技术,所以不用紧张.从本质上来说,

SQLAlchemy 教程 —— 基础入门篇

SQLAlchemy 教程 -- 基础入门篇 一.课程简介 1.1 实验内容 本课程带领大家使用 SQLAlchemy 连接 MySQL 数据库,创建一个博客应用所需要的数据表,并介绍了使用 SQLAlchemy 进行简单了 CURD 操作及使用 Faker 生成测试数据. 1.2课程知识点 学会用 SQLALchemy 连接数据库(MySQL, SQLite, PostgreSQL), 创建数据表: 掌握表数据之间一对一,一对多及多对多的关系并能转化为对应 SQLAlchemy 描述: 掌握使

破解完全入门篇

第一章--前言 好多哥们儿说看教程跟老大的书都看不太明白,所以,我尽量把话说到最容易理解的份上,本文写给那些刚入门和尚未入门的朋友们... 目录 no.1------------------前言(说明一下) no.2------------------汇编语言 no.3------------------Windows程序 no.4------------------调试器及相关工具入门 no.5------------------破解原理 no.6------------------初级破解实

Git入门(三)——没有版本控制意识的程序员不是一个好的程序员

之前所讲的都是"自娱自乐",自己管理自己的项目.本篇主要是Git入门的尾声,也是最为精华的一部分,即利用Git进行版本控制,进行"团队协作开发",也会介绍分支合并以及合并冲突时常见的处理方法. 五.团队协作流程 1. 基本流程 (1) 创建一个分支 当你在开发一个项目的时候,一般在同一时刻你会同时展开多个想法,其中一些比较成熟了,另一些还是很初级的.有了分支就可以很好地来进行管理了.当你在项目中创建一个分支的时候,你可能就是正在搭建一个可以尝试新想法的环境.你在新分