分布式版本控制工具git

1 安装Git

在linux上我们建议你用二进制的方式来安装git,可以使用发行版包含的基础软件包管理工具来安装,如果你是

是CentOS或者Fedora的操作系统,可以使用yum命令来安装git:

$ sudo yum install git

如果你是ubuntu或者是Debian可以使用apt-get的命令来安装git:

$ sudo apt-get install git

Windows上安装

在 Windows 上安装 Git 也有几种安装方法。 官方版本可以在 Git 官方网站下载。 打开
http://git-scm.com/download/win,会检查你的操作系统是32位的还是64位的,并自动开始下载对应的安装包。

另一个简单的方法是安装 GitHub for Windows。 该安装程序包含图形化和命令行版本的 Git。 它也能支持Powershell,提供了稳定的凭证缓存和健全的换行设置。 你可以在 GitHub for Windows 网站下载,网址为http://windows.github.com

2 为什么用Git

1.版本管理有一个中央服务器,可以保存所有代码、文档

2.每一次的修改都可以提交到版本库,修改有记录,可追踪

3.不害怕某个同事离职了,代码没有入库

4.本地的代码流失后,可以从版本库检出

5.多人协作,每个同事完成的工作提交到版本库,方便进行集成

6.当我们要开发需求或修复PR时,可以从版本库上拉出分支管理

7.在大的企业,每次提交都可能触发一次构建,实时检查代码的质量

8.如果构建失败了,可以自动revert掉某次提交

分布式与集中式的对比

3. 远程仓库

我们现在远端服务器中初始化一个空的裸的仓库。

mkdir mathlib
cd mathlib
git init --bare

然后我们让本地仓库和远端仓库进行交互。然后我们再Windows创建一个本地仓库。

我们远端的地址就是该服务器的ip地址。这里我的是10.150.132.253

本地仓库和远端仓库进行交互需要一个协议。我们通常用的是ssh协议。

SSH协议是一个验证授权的网络协议;

我们将公钥放在服务器,然后每次发送内容的时候以私钥去验证他。

3.1 使用ssh公钥登录git服务器

  1. 生成公钥和私钥(ssh-keygen -t rsa)

    回车

    输入y,回车,然后还有一个回车

    然后我们再Windows中C盘的用户文件夹中的.ssh文件夹中,就生成了公钥和私钥。

    然后进入linux中,同样运行

    cd ~
    cd .ssh
    ssh-keygen -t rsa

复制公钥内容到远端服务器.ssh/authorized_keys

然后touch authorized_keys然后vi authorized_keys,然后将windows中的id_rsa.pub复制到linux中。

然后本地仓库就可以免密登录那个远程服务器仓库了。

git clone ssh://用户名@ip地址:仓库的地址

如果不知道用户名的话,用命令whoami

ip地址可以用ifconfig

目录的话可以用pwd

git clone ssh://root@10.150.132.253:/usr/src/mathlab


注意第一次免密登录的话,需要输入yes。如果不行的话,可以尝试将windows中的.ssh删掉,重新生成。

我们可以将这个文件改个名字

然后我们给这个文件夹设置名字和邮箱。

 git config user.name lipu123
 git config user.email lipu123@qq.com
相关推荐
悄悄敲敲敲3 小时前
C++:dfs习题四则
c++·算法·深度优先
安於宿命5 小时前
【Linux】进程间通信——进程池
linux·c++
斯普信专业组5 小时前
Kafka偏移量管理全攻略:从基础概念到高级操作实战
分布式·kafka
怠惰_u7 小时前
使用Redis实现分布式锁,基于原本单体系统进行业务改造
数据库·redis·分布式
南郁10 小时前
001-监控你的文件-FSWatch-C++开源库108杰
c++·开源·文件系统·文件监控·fswatch·文件变动信息·libfswatch
飞的肖10 小时前
采用分布式部署deepseek
分布式·deepseek
linux开发之路10 小时前
C++Linux进阶项目分析-仿写Redis之Qedis
linux·c++·redis·多线程·后端开发
EPSDA11 小时前
Linux线程库与线程库封装
linux·运维·服务器·开发语言·c++
孤独得猿11 小时前
排序算法复习——包括插入排序、希尔排序、冒泡排序、快排(包括霍尔法、挖坑法、快慢指针法)、堆排、选择排序、归并排序等 (代码采用c/c++混编)
c语言·数据结构·c++·笔记·算法·排序算法
编程探索者小陈11 小时前
【C++】智能指针的使用及其原理
开发语言·c++