分布式版本控制工具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 天前
YOLO 训练车牌定位模型 + OpenCV C++ 部署完整步骤
c++·python·yolo·车牌识别
happyCoder1 天前
VS Code Git 神器:内置功能与GitLens插件使用技巧
git·github
小番茄夫斯基1 天前
深入解析 git merge 和 git rebase 的区别
git
不会写程序的未来程序员1 天前
详细的 Git 操作分步指南
大数据·git·elasticsearch
芒鸽1 天前
高效团队协作的基石:Git流程规范详解
git
小坏讲微服务1 天前
Spring Cloud Alibaba 整合 Scala 教程完整使用
java·开发语言·分布式·spring cloud·sentinel·scala·后端开发
pale_moonlight1 天前
九、Spark基础环境实战((上)虚拟机安装Scala与windows端安装Scala)
大数据·分布式·spark
雾岛听蓝1 天前
C++ 类和对象(一):从概念到实践,吃透类的核心基础
开发语言·c++·经验分享·笔记
BD_Marathon1 天前
【Zookeeper】CAP理论——CAP介绍
linux·分布式·zookeeper
Dream it possible!1 天前
LeetCode 面试经典 150_图_克隆图(90_133_C++_中等)(深度优先:DFS)
c++·leetcode·面试·