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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

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