分布式版本控制工具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

在这里插入图片描述

相关推荐

  1. 01.Git分布式版本控制工具

    2024-05-14 08:14:06       50 阅读
  2. Git分布式版本控制系统

    2024-05-14 08:14:06       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-14 08:14:06       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-14 08:14:06       74 阅读
  3. 在Django里面运行非项目文件

    2024-05-14 08:14:06       61 阅读
  4. Python语言-面向对象

    2024-05-14 08:14:06       71 阅读

热门阅读

  1. Vue.js:轻量级而强大的前端框架

    2024-05-14 08:14:06       30 阅读
  2. 02-登录页面、动态路由、权限等模块开发

    2024-05-14 08:14:06       27 阅读
  3. 23. 合并 K 个升序链表 - 力扣(LeetCode)

    2024-05-14 08:14:06       37 阅读
  4. 【设计模式】桥接模式-学习记录

    2024-05-14 08:14:06       23 阅读
  5. 量子计算入门:原理与编程

    2024-05-14 08:14:06       31 阅读
  6. MySQL和MongoDB区别

    2024-05-14 08:14:06       34 阅读
  7. k8s 配置管理

    2024-05-14 08:14:06       49 阅读
  8. Redis 5.0 Stream数据结构深入分析

    2024-05-14 08:14:06       28 阅读
  9. 力扣:93. 复原 IP 地址

    2024-05-14 08:14:06       31 阅读
  10. 数据库和Redis数据不一致的问题

    2024-05-14 08:14:06       30 阅读
  11. Rust 语言不支持 goto 语句

    2024-05-14 08:14:06       32 阅读
  12. ubuntu 24.04 devilspie 报错解决

    2024-05-14 08:14:06       35 阅读
  13. CircleCI的原理及应用详解(二)

    2024-05-14 08:14:06       26 阅读
  14. 10、Go Gin 连接Redis以及Cookie&Session

    2024-05-14 08:14:06       31 阅读