介绍git的基本知识、文件状态、工作区域以及一个简单的操作示例。

目录

1. git相关介绍

2. 文件状态与工作区域

3. 快速使用

1. git相关介绍

1.1 git、github、gitlab所代表的意思

git:一种分布式的版本控制工具,每个计算机保存了所有历史记录(Svn为集中式的)。

github:一个使用git的代码托管平台。

gitlab:一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。可比喻为自己内网搭建个github。

1.2 app下载

1) git for windows

说明:使用git的基础软件,可分为了git bash(命令行版本) 和git gui(图像用户界面版本)。

地址https://git-scm.com/downloads

2) TortoiseGit

说明:提供了与TortoiseSvn一样的操作方式。

地址https://tortoisegit.org/

1.3 托管平台

1) github

说明国外的git托管平台。创建私有仓库需要付费。

地址https://github.com/

2)  码云

说明:国内oschina的git托管平台。可免费创建私有仓库。

地址https://git.oschina.net/

1.4 手册

在线APIhttps://git-scm.com/docs

《Pro Git》书籍https://git-scm.com/book/en/v2

《Pro Git》中文版https://git-scm.com/book/zh/v2

1.5 名词解释

repository :仓库;指git上所创建的代码库。一个仓库对应一个项目。

branches :分支;一个 repository 可以存在多个分支。

2. 文件状态与工作区域

git的文件状态是其git核心内容,了解后对后续的操作有莫大的帮助,不同的文件状态又存储在不同的工作区域中。

下面简单的说明这两者:

2.1 文件状态

git中的文件有以下几种状态:

未跟踪(untrack):表示文件为新增加的。

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

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

已提交(committed):表示文件已保存在git仓库中。

2.2 工作区域

知道了文件状态,也需要知道不同的文件状态存储在不同的工作区域内。

按照本地计算机与远程计算机划分,工作区域有以下几种:

1)本地计算机

Working Directory(工作目录):即正在编辑的文件状态。文件状态为未跟踪(untrack)和已修改(modified)在此区域内。

Staging Area(暂存区):保存了下次将提交的文件列表信息。文件状态为已暂存(staged)在此区域内。

Repository(本地仓库):提交到本地仓库的文件。

2)远程计算机

Repository(远程仓库):已提交到远程计算机内的文件。

2.3 示例图

3. 快速使用

3.1 基本的 Git 工作流程如下

a.在工作目录中修改文件。

b.暂存文件,将文件的快照放入暂存区域。

c.提交更新,找到暂存区域的文件,将快照存储到仓库目录。

3.2 示例

下面以一个git测试项目完成一套简单的git操作为例:

1) 创建一个Git公开仓库

首先在 https://github.com/中创建一个公开仓库。

创建完成后可获得git地址:https://github.com/polk6/gitDemo.git

2) git clone:clone 项目

git clone https://github.com/polk6/gitDemo.git newProjectName

说明:表示将仓库clone到新创建的本地目录newProjectName内(此参数可忽略,如不输入将会创建一个仓库名称的目录),默认配置下远程 Git 仓库中的每一个文件的每一个版本都将被拉取下来。今后若服务器上的磁盘坏掉了,可以使用任何一个克隆下来的用户端来重建服务器上的仓库。

3) 设定身份

git config --local user.name "username"
git config --local user.email "user email"

说明:设定此仓库提交时的身份信息。

--local 表示此仓库的身份信息,除此之外还有 --global表示当前用户,--system表示所有用户。

4) 新增一个文件

echo abc>>1.txt

说明:创建了一个1.txt文件,并写入了"abc"内容。

5) git add

git add 1.txt

说明: 将1.txt文件提交到【暂存区】

6) git commit

git commit -m "增加了1.txt文件"

说明:将【暂存区】的文件提交到【本地仓库】

7) git push

git push

说明:将【本地仓库】的内容提交到【远程仓库】

End
菜单加载中...

git 快速入门的更多相关文章

  1. Git快速入门进阶篇

    本文接着Git快速入门篇,继续探讨Git在管理项目中的一些应用. 远程仓库的使用 查看远程仓库 查看你已经配置的远程仓库服务器,可以运行 git remote 命令.指定选项 -v,会显示需要读写远程 ...

  2. git快速入门 push/clone/reset/merge/切换分支全都有

    本文介绍git快速入门,从安装/创建init / 发布push/版本回退reset / branch分支切换/合并分支merge 这些基本的操作都有涉及,方便新人快速入手,有需要的朋友mark一下.首 ...

  3. Git 快速入门--Git 基础

    Git 快速入门 Git 基础 那么,简单地说,Git 究竟是怎样的一个系统呢? 请注意接下来的内容非常重要,若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余. 在开始学习 G ...

  4. Git快速入门和常用命令

    一.快速入门 本地初始化一个项目 首先,你需要执行下面两条命令,作为 git 的基础配置,作用是告诉 git 你是谁,你输入的信息将出现在你创建的提交中. git config --global us ...

  5. git 快速入门及常用命令

    身为技术人员,都知道Git是干嘛的.从服务端角度它是代码仓库,可以多人协作.版本控制.高效处理大型或小型项目所有内容:从客户端讲,它能够方便管理本地分支.且与服务端代码的同步,从拉取.合并.提交等等管 ...

  6. Git快速入门

    如果你不想看长篇的Git教程,想快速了解Git的使用,那么本文可能会对你入门Git有所帮助.由于笔者用的是Windows系统,所以本文只写Git在Windows上的使用. 一.Git安装 去Git官网 ...

  7. git 快速入门(二)

    一.引子 git代码托管的优秀工具之一, 其工作原理和svn截然不同.一旦拥有主干master分支权限, 只要在本地拉取主干分支, 可以随时随地切换分支. 它拥有众多优点,eg :支持在断网的情况下, ...

  8. git快速入门(MAC系统,github,ssh key)

    如果使用过svn的话,git大致可以认为是多了本地库的svn.git先本地提交commit到本地库,然后再push到远程服务器的库.git是分布式的代码管理工具,基于SSH协议.ssh的作用就是为了不 ...

  9. 版本管理·玩转git(快速入门git)

    如果你用过Word文档写过文章,那么你一定会有这样的经历. 我觉得某一段或者某一句写得不够好,但是,删掉之后我可能会后悔把它删掉了,进而又想把删掉的段落找回来,这时,你想到了一个好办法,将每次的修改都 ...

随机推荐

  1. mycat全局自增

    指定自增类型 [root@node002 conf]# vi   /usr/local/mycat/conf/server.xml 每个参数代表的含义: 0:本地文件自增方式. 1:使用mysql自增 ...

  2. SuperSocket入门(四)-命令行协议

         前面已经了解了supersocket的一些基本的属性及相关的方法,下面就进入重点的学习内容,通信协议.在没有看官方的文档之前,对于协议的理解首先想到的是TCP和UDP协议.TCP 和 UDP ...

  3. Java多线程窥探

    1.程序,进程,线程 标准定义:

  4. 【二分图】洛谷P1640连续攻击游戏

    题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备时,他只能使用该装备的某一个属性.并且每种装备 ...

  5. 一个InnoDB性能超过Oracle的调优Case

    年前抽空到兄弟公司支援了一下Oracle迁移MySQL的测试,本想把MySQL调优到接近Oracle的性能即可,但经过 @何_登成 @淘宝丁奇 @淘宝褚霸 @淘伯松 诸位大牛的指导和帮助(排名不分先后 ...

  6. 加速scp传输速度

    当需要在机器之间传输400GB文件的时候,你就会非常在意传输的速度了.默认情况下(约125MB带宽,网络延迟17ms,Intel E5-2430,本文后续讨论默认是指该环境),scp的速度约为40MB ...

  7. 浅谈我的MongoDB学习(一)

    这是第一次写博客,不当之处敬请见谅,最近由于项目需要,对mongodb略有研究,网上也有一些相关资料,下面是我自己摸索的一些东西,希望能跟大家分享一下当然,这也是我自己第一次在项目中使用,若理解有误, ...

  8. laravel ORM 命令2

    一.查询 获取数据库所有数据 Model::all() 获取指定条件数据 Modle::where('status','1')->get() 获取第一条数据 Model::where('stat ...

  9. [bzoj2157]旅游 (lct)

    这个应该也算裸的模板题吧..主要是边权的问题,对于每条边u->v,我们可以新建一个节点代替他,把边的信息弄到新的点上,就变成u->x->v了... 当然了这样的话要防止u和v这些没用 ...

  10. Developing Skills

    题目传送门:点击打开链接 #include <iostream> #include <cstdio> #include <cstdlib> #include < ...