分布式版本控制工具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++实现了一个简单的链表数据结构 MyList,其中包含基本的 Get 和 Modify 操作,
数据结构·c++·链表
UestcXiye4 小时前
《TCP/IP网络编程》学习笔记 | Chapter 9:套接字的多种可选项
c++·计算机网络·ip·tcp
斑驳竹影4 小时前
【RabbitMQ】之高可用集群搭建
分布式·rabbitmq
一丝晨光5 小时前
编译器、IDE对C/C++新标准的支持
c语言·开发语言·c++·ide·msvc·visual studio·gcc
丶Darling.5 小时前
Day40 | 动态规划 :完全背包应用 组合总和IV(类比爬楼梯)
c++·算法·动态规划·记忆化搜索·回溯
floret*5 小时前
Kafka高频面试题详解
分布式·kafka
Wlq04155 小时前
分布式技术缓存技术
分布式·缓存
奶味少女酱~5 小时前
常用的c++特性-->day02
开发语言·c++·算法
明达技术6 小时前
LVDS高速背板总线:打造分布式I/O高效数据传输新境界
分布式·物联网·自动化·lvds
java1234_小锋6 小时前
分布式环境下宕机的处理方案有哪些?
分布式