git安装

本文深入探讨了集中式版本控制系统(如SVN)与分布式版本控制系统(如Git)的区别,分析了各自的优缺点,以及它们在不同场景下的适用性。同时,提供了在Linux环境下安装和配置Git的详细步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Center VCS(集中式)

在这里插入图片描述

集中式版本管理系统包括CVS(Cocurrent Versions System)、SVN(Subversion)、Perforce等,其中最有名的就是SVN
  集中式版本管理系统利用中央服务器来进行日常的版本控制操作,比如checkout、commit等。所有的操作都必须经过中央服务器,优点是可控性更高,但每一次操作都需要网络请求,会影响操作的流畅性,且具有致命的单点故障。一旦中央服务器发生了故障,轻则无法协同工作,重则可能会丢失历史消息

Distributed VCS(分布式)

在这里插入图片描述
  分布式版本管理系统包括Git、Mercurial等,其中最有名的是Git
  分布式指的是每一份本地仓库都是一个完整的项目历史拷贝,即使同步的中央服务器发生了故障,也可以很容易地从本地仓库中将历史还原出来。带来的好处是,如果部分操作不需要同步到服务器,可以在本地进行相关操作,这样可以让操作更加流畅

这也意味着你离线或者没有 VPN 时,几乎可以进行任何操作。 如你在飞机或火车上想做些工作,你能愉快地提交,直到有网络连接时再上传。 如你回家后 VPN 客户端不正常,你仍能工作。 使用其它系统,做到如此是不可能或很费力的。 比如,用 Perforce,你没有连接服务器时几乎不能做什么事;用 Subversion 和 CVS,你能修改文件,但不能向数据库提交修改(因为你的本地数据库离线了)。 这看起来不是大问题,但是你可能会惊喜地发现它带来的巨大的不同

【CVCS(svn为例)】

优点:

1、 管理方便,逻辑明确,符合一般人思维习惯

2、 集中式服务器更能保证安全性,权限机制的设计也更加简洁明确。一般集中式管理的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理

3、 代码一致性非常高

缺点:

1、 中心代码服务器压力大,代码数据库容量暴增

2、 单点故障问题。如果中心服务器出现故障,所有操作都无法进行

3、 操作依赖网络。如果不能连接到代码服务器上,就不能提交,还原,对比等等,基本上不可以工作

4、 不适合开源开发(开发人数非常非常多)

【DVCS(git为例)】

优点:

1、 快速、灵活。每个开发中本地都有全量仓库,提交到本地非常快

2、 离线工作,能避免单点故障。即便远端代码服务器崩溃,开发者也能继续工作,无需等待修复。一定程度也是一种安全备份

3、 任意两个开发者之间可以很容易的合并和解决冲突

缺点:

1、 学习曲线稍微陡峭一些,要多花一点学习时间

2、 代码保密性差,不便于权限控制。一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息,权限控制需要另外一套系统来保证

因此,cvcs适合开发人数不多、对权限安全性要求更高的企业级项目;而dvcs适合团队分布在天南海北,对灵活性要求更高的开源项目

git基本使用

环境 :Linux rhel7
1.rpm安装git

$ sudo yum install -y git

从源代码安装

依赖

$ sudo yum install curl-devel expat-devel gettext-devel
openssl-devel zlib-devel

为了能够添加更多格式的文档(如 doc, html, info),你需要安装以下的依赖包:

$ sudo yum install asciidoc xmlto docbook2x

Kernel.org 网站获取
网址为 https://www.kernel.org/pub/software/scm/git
从 GitHub 网站上的镜像来获得
网址为 https://github.com/git/git/releases。 通常在 GitHub 上的是最新版本

编译并安装:

$ tar -zxf git-2.0.0.tar.gz
$ cd git-2.0.0
$ make configure
$ ./configure --prefix=/usr
$ make all doc info
$ sudo make install install-doc install-html install-info

初次运行 Git 前的配置

[root@server1 demo]# git config --global user.name “John Doe”
[root@server1 demo]# git config --global user.email johndoe@example.com
强调,如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。

文本编辑器

[root@server1 demo]# git config --global core.editor vim

检查配置信息

[root@server1 demo]# git config --list
user.name=Nmae
user.email=name@example.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true

你可以通过输入 git config : 来检查 Git 的某一项配置

[root@server1 ~]# cd ~
[root@server1 ~]# cat .gitconfig
[user]
name = Nmae
email = name@example.com
[core]
editor = vim
[root@server1 demo]# git config user.email
name@example.com
[root@server1 demo]# git config user.name
Nmae

Git 时需要获取帮助,可以通过以下Git 命令查看使用手册:

[root@server1 demo]# git help
[root@server1 demo]# git --help
[root@server1 demo]# man git-
[root@server1 demo]# git help config

现有项目或目录下导入所有文件到 Git 中(不需要来联网)

[root@server1 demo]# git init
Initialized empty Git repository in /root/demo/.git/
[root@server1 demo]# l.
. … .git
[root@server1 demo]# ll .git/
total 12
drwxr-xr-x 2 root root 6 Feb 21 15:32 branches
-rw-r–r-- 1 root root 92 Feb 21 15:32 config
-rw-r–r-- 1 root root 73 Feb 21 15:32 description
-rw-r–r-- 1 root root 23 Feb 21 15:32 HEAD
drwxr-xr-x 2 root root 242 Feb 21 15:32 hooks
drwxr-xr-x 2 root root 21 Feb 21 15:32 info
drwxr-xr-x 4 root root 30 Feb 21 15:32 objects
drwxr-xr-x 4 root root 31 Feb 21 15:32 refs
[root@server1 demo]# touch helloworld.sh
[root@server1 demo]# git status -s
?? helloworld.sh
[root@server1 demo]# git add helloworld.sh
[root@server1 demo]# git status -s
A helloworld.sh
[root@server1 demo]# git commit -m ‘helloworld.sh
[master (root-commit) 0afc367] helloworld.sh
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 helloworld.sh

克隆现有的仓库(需要联网)

[root@server1 demo]# git clone https://github.com/libgit2/libgit2
#自定义名称
[root@server1 demo]# git clone https://github.com/libgit2/libgit2 mylibgit

git详细使用命令,请参考官方文档
https://git-scm.com/book/en/v2

gitlab远程仓库搭建

### 不同操作系统上安装 Git 的方法 #### Ubuntu 上安装 Git 对于基于 Debian 的 Linux 发行版,如 Ubuntu,在开始安装 Git,需要先更新系统的软件包索引。这可以通过运行 `sudo apt update` 来完成[^2]。 接着,通过以下命令可以轻松地安装最新版本的 Git: ```bash sudo apt install git ``` #### openEuler 上安装 Git 针对 openEuler 系统,其具有特定的操作流程用于 Git 的部署。确保按照官方文档中的指导逐步操作能够顺利完成 Git安装过程[^3]。 #### Windows 上安装 Git 在 Windows 平台上,推荐的方式是从官方网站下载并安装 Git for Windows 安装程序。该工具不仅包含了完整的 Git 版本控制系统还集成了一个简易使用的图形界面以及 Bash 模拟环境以便于执行 Git 命令。 访问 [Git官网](https://git-scm.com/download/win),根据提示完成整个设置向导即可成功配置好本地机器上的 Git 工具链。 #### macOS 上安装 Git macOS 用户有两种主要途径获取 Git 支持: - 利用 Homebrew 这样的包管理器来进行自动化安装- 或者直接从苹果应用商店或者 Git 官方网站获得预编译好的二进制文件进行手动安装。 使用 Homebrew 安装非常简便,只需一条简单的命令就能搞定: ```bash brew install git ``` 如果尚未安装 Homebrew,则需先行访问 [Homebrew官网](https://brew.sh/) 获取最新的安装指南。 一旦完成了上述任一方式下的安装步骤之后,便可以在任意位置初始化一个新的 Git 库或是克隆现有的远程库到本地磁盘上了。例如,要查看当工作目录是否存在隐藏的 `.git` 文件夹(即代表此处已是一个 Git 仓库),可利用 `ls -ah` 查看所有文件列表[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值