0


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

简介

​ 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 "[email protected]"#邮箱

当安装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 = xxx
    email = xxx
    
#核心配置[core]
    repositoryformatversion =0
    filemode =false
    bare =false
    logallrefupdates =true
    symlinks =false
    ignorecase =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 installgit -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 本地存储目录

如图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6rQqnW56-1657784949841)(git-media/Git 服务提交.png)]

一切 Git 的应用如常。

标签: git 服务器 github

本文转载自: https://blog.csdn.net/weixin_42995152/article/details/125786211
版权归原作者 小白菜duang 所有, 如有侵权,请联系我们删除。

“Git 基础知识 -- 环境配置、搭建Git服务器”的评论:

还没有评论