简介

​ Git 是一种分布式的项目版本控制管理工具,所采取的概念是 “去中心化” ,每个开发人员都有自己的本地代码仓库,同时为同一个远程仓库服务。有了 Git 就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。就算乱来一气将项目中的文件删删改改,也照样可以恢复到之前的样子,且额外增加的工作量微乎其微。

​ 通过 Git 可以比较本地代码文件的变化细节,查出最后是谁修改了哪个地方的代码,从而找到导致问题出现的原因,也可以查出是谁在哪个时间点报告了功能缺陷等等。

来源

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制系统。

与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持(注:这得分是用什么样的服务端,使用http协议或者git协议等不太一样。并且在push和pull的时候和服务器端还是有交互的),使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。

同生活中的许多伟大事件一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到 2002 年,整个项目组开始启用分布式版本控制系统 BitKeeper 来管理和维护代码。

到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了免费使用 BitKeeper 的权力。这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds )不得不吸取教训,只有开发一套属于自己的版本控制系统才不至于重蹈覆辙。他们对新的系统制订了若干目标:

  • 速度快
  • 简单的设计
  • 对非线性开发模式的强力支持(允许上千个并行开发的分支)
  • 完全分布式
  • 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。它的速度飞快,极其适合管理大项目,它还有着令人难以置信的非线性分支管理系统,可以应付各种复杂的项目开发需求。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。

环境配置

安装

打开 [git官网] https://git-scm.com/,下载git对应操作系统的版本。

若官网下载太慢,可以使用淘宝镜像下载:http://npm.taobao.org/mirrors/git-for-windows/

最早Git是在Linux上开发的,很长一段时间内,Git只能在Linux/Unix系统上运行。随着Git的使用逐渐普及,一些开发者也慢慢将Git移植到了Windows平台上。目前Git已经发展为可以在 Windows/macOS/Linux/Unix 上运行的跨平台工具。

下载对应的版本即可安装!

安装:无脑下一步即可!安装完毕就可以使用了!

启动Git

安装成功后在开始菜单中会有Git项,菜单下有3个程序:任意文件夹下鼠标右键也可以看到对应的程序:

  • **Git Bash:**Unix与Linux风格的命令行,使用最多,推荐最多

  • **Git CMD:**Windows风格的命令行

  • Git GUI:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令

以命令行操作为例,使用 Bash 命令行来操作 Git。

Git 工具主要采用 git 命令来指引操作。

Git 配置

安装完 Git 之后,需要进行一次初始化的配置,Git 使用 git config 命令来完成。此命令的作用是配置 Git 的相关环境参数。

初始化配置

设置用户名/邮箱

登录的用户名是你想要克隆、下载到HTTPS / SSH 地址上所属的某个代码托管平台。

$git config --global user.name "xxx" #用户名
$git config --global user.email "xxx@xx.com" #邮箱

当安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起永久纳入历史记录。

如果你传递了 --global 选项,Git 将总是会使用该信息来处理你在系统中所做的一切操作。
如果你希望在一个特定的项目中使用不同的名称或 e-mail 地址,你可以在该项目中运行该命令而不要 --global 选项。

总之–global为全局配置,若舍弃 --global 则表示当前项目的 .git 目录作为独立配置。

删除用户配置信息
$git config --global --unset user.name   #用户名
$git config --global --unset user.email #邮箱

Git 相关配置权限文件

Git 提供了 git config 指令来配置或读取相应的工作环境变量,而正是这些环境变量决定了 Git 在各个环节的具体工作方式和行为。

这些变量可以存放在以下三个不同的地方:

  • \etc\gitconfig :系统中对所有用户都普遍适用的配置。

    • 对应 --system 系统级
    • 若使用 git config 指令时添加 --system 选项,读写的就是这个文件。
  • C:\Users\Administrator\.gitconfig :用户目录下的配置文件,只适用于当前系统用户的 git 项目。

    • 对应 --global 全局
    • 若使用 git config 指令时添加 --global 选项,读写的就是这个文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ioOBLzVf-1657784949840)(git-media\Git 相关配置.png)]

  • .git/config :当前项目的 .git 目录下的配置文件。仅仅只对当前项目有效

这三个配置文件对应了 GIt 中所展示的三种级别的权限 system >> global >> .git

注意:每一个级别的配置都会覆盖上层的相同配置。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IOPxCgRz-1657784949840)(git-media/Git 配置权限级别.png)]

查看配置

全部配置
$git config -l|[--list]

不同级别的配置
  • 查看当前项目的 config 配置:
$git config --local --list
  • 查看系统级 config 配置:
$git config --system --list
  • 查看当前用户的全局 config 配置:
$git config --global  --list

配别名

Git 并不会在你输入部分命令时自动推断出你想要的命令。如果不想每次都输入完整的 Git 命令,可以通过 git config 来轻松为每一个命令设置一个别名。

$git config --global alias.[别名] '<git 命令>'

注意:配别名的 git 命令不能带有 git ,且需以 '' / "" 单双引号包裹。

也可以使用 vim 来编辑指定目录的 .gitconfig 代表不同级别的权限:

  • etc/config :–system
  • C:\\User\Administrator\\.gitconfig : --global
  • .git/config :当前项目级
vim .git/config#用户信息配置
[user]username = xxxemail = xxx#核心配置
[core]repositoryformatversion = 0filemode = falsebare = falselogallrefupdates = truesymlinks = falseignorecase = true#git 命令别名配置
[alias]logAll = log --oneline --decorate --graph --all

示例:

#源完整命令:git log --oneline --decorate --graph --all#设置别名
$git config --global alias.log-d-all 'log --oneline --decorate --graph --all'

常见 Linux 基本指令

指令 描述
cd 改变目录
pwd 显示当前所在的目录路径
ls / ll 都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细
touch xx 在当前目录下新建一个 xx 文件
rm xx 删除 xx 文件
mkdir xx 新建 xx 文件夹。
rm -r xx 删除 xx 文件夹
rm -rf / 切勿在Linux中尝试!删除电脑中全部文件!
mv xx src yy 移动文件 xx 到 src 目录下的 yy。必须保证 xx 文件和目标文件夹 src 在同一目录下。
mv 源文件 重命名文件 重命名
cat xx 查看 xx 文件的内容
reset 重新初始化终端/清屏。
clear 清屏
history 查看执行过的命令历史记录
help 帮助
exit 退出
# 注释
vim xx 编辑 xx 文件
i :插入模式,文件的编辑操作
esc 之后 : 键:执行相关命令
q! 强制退出
wq 保存写入并退出
set nu 设置行号
echo ‘xxx’ 向控制台输出 xxx
echo ‘xxx’ > info.txt 向 info.txt 文件写入 xxx 文本内容
echo ‘xxx’ >> info.txt 向 info.txt 文件支架 xxx 文本内容
find 目录名 将对应的目录及子目录输出到控制台
find 目录名 -type f 将对应目录下的文件输出到控制台
| 管道符。表示将前一个命令的输出值传递给后一个命令进行处理

搭建 Git 服务器

想要搭建 Git 服务器,需要Linux 最基本的网络环境。

同时,可以使用 yum 命令来下载 SVN 第三方资源包。yum是 Linux 系统自带的用来下载第三方资源包的命令工具,相当于 Node.js 的 npm 工具。

搭建步骤:

前提:配置好网络环境。

1、下载git 第三方资源包

$ yum install git -y

2、创建 Git 资源的存储目录

先创建一个 目录用来存储 Git 资源。

$ mkdir xxx
$ cd /xxx/

3、初始化 Git 仓库

切换到存储 Git资源的目录,在此目录中初始化 Git 的基本配置信息。

$ git init --bare xxx.git

4、配置用户。

Git 服务与 SVN 服务不同,Git 服务规定可访问的用户只能是当前的系统用户、所以要先添加一个系统用户,为其设置好密码。

添加系统用户:

$ useradd  <name>

用户组命名默认为当前添加的用户名。例如 : blue : blue

设置密码:

$ passwd <name>

由于添加的是系统用户,如果不对此用户增加权限,那么此用户就可以登录并查看到当前系统的所有文件,为了避免用户权限乱套,需要对 此用户进行权限限制,禁止此用户登录到服务器中。

5、修改 Git 目录所有者

在创建最初,Git 目录是的所属者是 root 用户,需要将 Git 目录的所属者修改为 当前新建的用户。表示此 Git 目录是 此用户所属文件。

修改目录所属用户。

$chown -R 用户名:用户组 xxx.git

参数:

  • -R :递归。表示递归 xxx.git 中的所有文件归属到指定用户身上。
  • xxx.git : 初始化 Git 仓库时创建的配置文件。

6、正式导入 Git 资源到本地。

配置好以上步骤之后,使用 Git 安装时 自带的 Git Bash Here 工具,输入以下格式的指令即可获取指定服务器地址下的 Git 资源。

如:

$git clone 用户名@服务器IP地址:/目录/xxx.git 本地存储目录

如图:

一切 Git 的应用如常。

Git 基础知识 -- 环境配置、搭建Git服务器相关推荐

  1. Git基础知识教程整理(Git基本操作)

    Git简介 Git是目前世界上最先进的分布式版本控制系统(没有之一). Linux之父Linux用C语言写了Git分布式版本控制系统. 分布式版本控制系统与集中式版本控制系统的区别 区别 分布式 集中 ...

  2. AST基础知识:环境的搭建与babel库的安装

    本文环境为win10系统,兼容各win系统(只需区分32位及64位操作系统),linux环境请自行下载测试. 一.安装nodejs 安装地址: https://nodejs.org/zh-cn/dow ...

  3. Git 基础知识大全

    Git 基础知识大全 文章目录 Git 基础知识大全 1. 原理 2. 配置文件 3. 基本操作 4. 远程操作 5. 删除操作 6. 检出操作 7. 分支操作 8. 日志 9. 比对文件 10. 忽 ...

  4. Git 基础知识 - 获取 Git 存储库

    Git 基础知识 - 获取 Git 存储库 获取 Git 存储库 初始化现有目录中的存储库 克隆现有存储库 如果你只能读一章来开始使用 Git,就是这样.本章涵盖了你完成绝大多数事情所需的基本命令,这 ...

  5. Git安装及环境配置(Windows10)

    Git安装及环境配置(Windows10) 前言 一.Git安装 双击安装包进行安装 二.配置环境变量 1.右键点击桌面上此电脑,点击属性,打开属性界面,点击"高级系统设置" 2. ...

  6. windows 本地搭建git仓库_Windows系统下搭建Git本地代码库

    近由于工作需要,要把工作代码做一下版本管理.工作代码也不方便放到github上,也不想付费建私密库,公司也没几个人,所以就想着搭建一个本地Git版本库,来做版本管理.搭建过程如下. 系统环境:Dell ...

  7. Git基础(二)本地Git仓库管理

    Git基础(二)本地Git仓库管理 以下内容来自对<精通Git 第二版>的学习总结整理,可直接食用 注:本文以windows10操作系统,cmd命令为参考. 如果您使用的是mac os,那 ...

  8. Hadoop集群环境配置搭建

    一.简单介绍 Hadoop最早诞生于Cutting于1998年左右开发的一个全文文本搜索引擎 Lucene,这个搜索引擎在2001年成为Apache基金会的一个子项目,也是 ElasticSearch ...

  9. 电脑自建服务器tomcat,怎么配置搭建tomcat服务器

    tomcat是一种轻量级的web容器服务器,那么该怎么配置搭建tomcat服务器呢?下面是学习啦小编收集整理的怎么配置搭建tomcat服务器,希望对大家有帮助~~ 配置搭建tomcat服务器的方法 工 ...

最新文章

  1. Android 中文api (88)——SharedPreferences
  2. arm linux 识别新硬盘_嵌入式Linux系列第13篇:USB摄像头拍照
  3. Mahout kmeans聚类
  4. 深度学习之卷积神经网络 ZF Net
  5. 算法训练 字符串编辑(java)
  6. Flask蓝图使用的方法
  7. 黑产肆虐,AI如何扛起反欺诈大旗
  8. CDH ecosystem components
  9. 【node】node连接mongodb操作数据库
  10. Android studio 4.0 Layout Inspector查看当前Activity
  11. camera主观测试_镜头测试:日本富士EBC 135/2.5+索尼A7微单实拍北京北海公园
  12. 哈希(1) hash的基本知识回顾
  13. 中望cad自定义快捷键命令_中望cad常用快捷键及命令
  14. DPDK Release 22.07
  15. 我的世界服务器怎么无限附魔,我的世界无限附魔书指令
  16. HTML与CSS如何创建悬停折角纸叠效果
  17. 去掉Xcelsius报表在EP展示空白边界
  18. HBuilder X 无法启动微信开发者工具问题解决方法
  19. 大脑皮层由神经组织构成,大脑神经网络结构图片
  20. 集团信息化“润物细无声”

热门文章

  1. 【附源码】Python计算机毕业设计蔬菜水果销售网站
  2. MOOC网神经网络与深度学习TensorFlow实践4——回归问题
  3. 贵州移动海信IP102H-S905L3-安卓4.4.2/9.0-当贝桌面-线刷固件包
  4. 海信E926救砖教程
  5. 运放--单端信号转差分信号
  6. 创建DMG格式的分发包
  7. 搭档之家:“5G+C-V2X” 华为车联网解决方案应运而生
  8. ArcGIS Orhtomapping拼接处理无人机数据分步工具
  9. 《弃子长安》第十二章 湖底石牢
  10. 400家营收破亿,外界因素促使中国芯自强,华为纯国产手机在望