Git版本控制服务器详解

 更新时间:2022年05月26日 09:44:53   作者:愿许浪尽天涯  
这篇文章主要为大家介绍了Git版本控制服务器详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

一、Git 简介

Git 是一款开源的分布式版本控制系统,可以有效、高效的处理从很小到非常大的项目版本管理。Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源代码的版本控制软件。

官网:https://git-scm.com/

1.Git 特点

优点:

  • 适合分布式开发,强调个体;
  • 公共服务器压力和数据量都不会太大;
  • 速度快、灵活;
  • 离线工作;

缺点:

代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息;权限控制不友好;如果需要对开发者限制各种权限的建议使用 SVN。

2.版本控制器

简单来说就是用来存放代码的。

版本控制器分为:SVN(集中式的版本控制器),Git(分布式的版本控制器)

3.Git 工作流程

简单来说就是在工作区上写代码,当要提交时,需要先将代码上传到暂存区,接着才可以将代码提交到本地仓库,当提交到本地仓库后,还可以将代码上传到远程仓库,来供其它人访问。

Git 的几种状态: 已暂存、已修改、已提交。

4.Git 的几个核心概念

  • 工作区:就是你平常存放项目代码的地方。
  • 暂存区:用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息。
  • 本地仓库(版本库):就是安全存放数据的位置,这里面都是你提交的所有代码信息。
  • 远程仓库:就是托管代码的服务器,类似于 FTP 服务,能够共享数据。

二、基于 Linux 部署 Git 服务器

准备工作

主机名操作系统IP 地址
GitCentOS 7.4192.168.1.1
ClientCentOS 7.4192.168.1.2

1.Git 使用

创建用户

[root@Git-Server ~]# useradd git															# 创建 Git 用户
[root@Git-Server ~]# echo "123456" | passwd git --stdin										# 创建密码
[root@Git-Server ~]# su - git																# 切换到 Git 用户

创建仓库

[git@Git-Server ~]$ mkdir project															# 创建目录. 用于存放长仓库
[git@Git-Server ~]$ cd project/
[git@Git-Server project]$ git init --bare													# 初始化仓库

2.验证

在 Client 主机上创建工作目录

[root@Client ~]# mkdir git

拉取库到本地

[root@Client ~]# cd git/
[root@Client git]# git clone git@192.168.1.1:/home/git/project								# 克隆
正克隆到 'project'...
git@192.168.1.1's password: 																# 输入 Git 用户的密码
warning: 您似乎克隆了一个空版本库。
[root@Client git]# ls																		# 查看项目
project

本地给新项目添加文件

[root@Client git]# cd project/																# 进入项目路径
[root@Client project]# touch 1.txt															# 创建测试文件

添加到暂缓区

[root@Client project]# git add .# 当前目录内容都会添加

查看文件状态

[root@Client project]# git status

提交到本地仓库

[root@Client project]# git commit -m "Test"# -m 选项是说明信息

配置账号和邮件

[root@Client project]# git config --global user.name "ZhangSan"
[root@Client project]# git config --global user.email "ZhangSan@163.com"

重新提交修改到本地仓库

[root@Client project]# git commit -m 'Test'

确认本地仓库和远程仓库的状态是否正常

[root@Client project]# git remote add origin git@192.168.1.1:/home/git/project.git
fatal: 远程 origin 已经存在。

把本地仓库代码推送到远程仓库

[root@Client project]# git push origin master

三、使用 GitHub

GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本仓库格式进行托管,所以故名为 GitHub。

1.注册账号

首先在官网上注册一个账号:https://github.com/

2.在客户端上生成密钥对

[root@Client ~]# ssh-keygen -t rsa											# 创建密钥对 (连敲三次回车即可)
[root@Client ~]# cat .ssh/id_rsa.pub										# 查看公钥

3.导入公钥密钥到 GitHub

登录验证

[root@Client ~]# ssh -T git@github.com												# 需要联网状态
...
Are you sure you want to continue connecting (yes/no)? yes
...
Hi ChenZhuang1217! You've successfully authenticated, but GitHub does not provide shell access.

4.创建储存空间

5.将本地项目上传到 GitHub

[root@Client ~]# mkdir Test
[root@Client ~]# cd Test/
[root@Client Test]# echo "This is Test" > README.md
[root@Client Test]# git init
初始化空的 Git 版本库于 /root/Test/.git/
[root@Client Test]# git add README.md 
[root@Client Test]# git commit -m "First Commit"
[root@Client Test]# git remote add origin git@github.com:ChenZhuang1217/Test.git
fatal: 远程 origin 已经存在。
[root@Client Test]# git push -u origin master

6.查看 GitHub 文件

7.同步远程仓库的最新状态到本地仓库

在 GitHub 创建新的文件

在本地仓库中拉取远程仓库的文件

[root@Client Test]# git pull -u origin master

以上就是Git版本控制服务器详解的详细内容,更多关于Git版本控制服务器的资料请关注脚本之家其它相关文章!

相关文章

  • MyBatisCodeHelper-Pro插件破解版详细教程[2.8.2]

    MyBatisCodeHelper-Pro插件破解版详细教程[2.8.2]

    MyBatisCodeHelper-Pro是IDEA下的一个插件,功能类似mybatis plugin。这篇文章给大家介绍MyBatisCodeHelper-Pro插件破解版[2.8.2]的相关知识,感兴趣的朋友跟随小编一起看看吧
    2020-09-09
  • SecureCRT的使用超详细教程

    SecureCRT的使用超详细教程

    SecureCRT是Windows下登录UNIX或Linux服务器主机的软件,优点是可以一次创建多个 Tab Page,连接多台远程主机,下面给大家介绍下SecureCRT的使用超详细教程,感兴趣的朋友一起看看吧
    2021-11-11
  • ApacheBeam中的延迟数据处理方法

    ApacheBeam中的延迟数据处理方法

    Apache Beam是一个用于批处理和流处理的统一编程模型,可以处理实时数据流和批量数据,本文给大家介绍ApacheBeam中的延迟数据处理方法,感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • 关于idea+centos7+zookeeper报错connectionloss,timeout问题

    关于idea+centos7+zookeeper报错connectionloss,timeout问题

    这篇文章主要介绍了idea+centos7+zookeeper报错connectionloss,timeout问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • matlab中乘法“*”和点乘“.*”;除法“/”和点除“./”的联系和区别

    matlab中乘法“*”和点乘“.*”;除法“/”和点除“./”的联系和区别

    这篇文章主要介绍了matlab中乘法“*”和点乘“.*”;除法“/”和点除“./”的联系和区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • kettle在windows上安装配置与实践案例

    kettle在windows上安装配置与实践案例

    Kettle是一款开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定,这篇文章主要介绍了kettle在windows上安装配置与实践案例,需要的朋友可以参考下
    2022-11-11
  • JetPack开发中使用CameraX完成拍照和拍视频功能

    JetPack开发中使用CameraX完成拍照和拍视频功能

    CameraX 是一个 Google 推出的 JetPack 组件。今天给大家分享JetPack之使用CameraX完成拍照和拍视频,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-06-06
  • vscode的几项基本配置详解

    vscode的几项基本配置详解

    VSCode是一款免费的、开源的、高性能的、跨平台的、轻量级的代码编辑器,这篇文章主要介绍了vscode的几项基本配置,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2020-05-05
  • Ollama整合open-webui的步骤及访问

    Ollama整合open-webui的步骤及访问

    这篇文章主要介绍了如何通过源码方式安装OpenWebUI,并详细说明了安装步骤、环境要求以及第一次使用时的账号注册和模型选择过程,需要的朋友可以参考下
    2025-02-02
  • xmind2022下载非试用超详细图文教程

    xmind2022下载非试用超详细图文教程

    这篇文章主要介绍了xmind2022下载非试用(超详细 图文预警),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10

最新评论