Git系列--Git仓库

简介

前一篇文章中简单引入了Git仓库的概念--用来保存项目的元数据和对象数据库的地方,是整个Git数据库的集合;

Git仓库是整个Git版本控制系统的基础,所有的Git操作都必须基于Git仓库,下面就让我们来认识一下它吧!

获取Git仓库

Git项目仓库的获取方式有以下两种:

  1. 本地创建Git仓库
  2. 从Git远程服务器克隆仓库

本地仓库

本地创建Git仓库的方式可以用一条命令来完成:

  1. cd到需要项目目录中
  2. 执行git init操作初始化仓库
git init

远程仓库

如果你正在进行团队协作项目开发或更换电脑需要重新拉取项目,那么git clone能很好的帮你从远程拉取到远程Git仓库中最新版本的项目代码;

克隆仓库的命令格式是git clone [url],当然你也可以拉取Git仓库中特定分支的内容,格式是git clone -b [branch] [url]

git clone

git clone命令默认拉取的是远程Git仓库master分支中的数据,默认配置中会拉取每一个文件的每一个版本

Git仓库目录结构

一个新的Git仓库的目录结构如下图所示:

.git目录
  • HEAD:指示目前被检出的分支
  • config:包含项目特有的配置选项
  • description:仅供 GitWeb 程序使用,我们无需关心
  • hooks:包含客户端或服务端的钩子脚本(hook scripts)
  • info:包含一个全局性排除(global exclude)文件,用以放置那些不希望被记录在 .gitignore 文件中的忽略模式(ignored patterns)
  • objects:存储所有数据内容
  • refs:存储指向数据(分支)的提交对象的指针

配置与使用

这部分的内容主要介绍了一些Git正式使用前的一些准备工作和简单使用,config和remote两个指令。

config

在使用Git之前需要配置姓名和邮箱等信息(不配置该信息可能无法提交至远程),那么配置的方式有以下两种:

  1. git config指令
  2. 文件配置

(1)指令方式

git config --global user.name "John Doe"
git config --global user.email johndoe@example.com

--global选项的含义代表全局配置,即只要配置一次即可在当前机器上生效,若需要对某个项目单独配置,需在该项目目录下执行config命令,但不必带上--global参数。

config全部可选参数可见官网文档:git-config

(2)文件方式

  1. /etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置。 如果使用带有 --system 选项的 git config 时,它会从此文件读写配置变量。
  2. ~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。 可以传递 --global 选项让 Git 读写此文件。
  3. 当前使用仓库的 Git 目录中的 config 文件(就是 .git/config):针对该仓库。

上述三个文件对应的作用域级别不同,顺序为 仓库级别 > 用户级别 > 系统级别

补充:可通过config命令来查看已生效的配置:git config --list

remote

Git作为分布式版本控制系统的代表,其主要作用是为了能更好的进行团队协作,故进行远程Git仓库的配置是必不可少的;

git remote -v可查看当前Git仓库关联的远程库列表(通过git clone的仓库自动带有远程仓库的信息),附上博主的一个Git仓库

git remote

左侧的origin为远程仓库的别名,右侧为远程Git仓库的地址

remote的一些简单操作:

  1. 若是本地创建的Git仓库,则需要手动添加远程Git仓库:git remote add [alias] [url]
  2. 重命名:git remote rename [old_alias] [new_alias]
  3. 删除远程仓库:git remote rm [alias]

上一篇:Git系列--初识

下一篇:Git系列之基础篇--add

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,408评论 4 371
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,690评论 2 307
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 112,036评论 0 255
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,726评论 0 221
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,123评论 3 296
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 41,037评论 1 225
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,178评论 2 318
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,964评论 0 213
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,703评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,863评论 2 254
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,333评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,658评论 3 263
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,374评论 3 244
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,195评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,988评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,167评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,970评论 2 279

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,111评论 18 139
  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,387评论 1 26
  • 温柔而笃定Ⅱ 2016 7 12 这个世界最重要的事,不在于我们在何处,而在于我...
    包小包ya阅读 229评论 0 0
  • 丁若渔同学, 今天是你七岁的生日,生日快乐! 时间对你现在而言,可是一点都不快,因为我知道,你不止一次的期待能像个...
    dreameramI阅读 1,175评论 0 0
  • 在上一讲中我们终于介绍完了在Windows环境部署服务器环境,以及从源代码开始安装Moodle的详细过程。但是有一...
    iLester阅读 1,212评论 1 5