Git版本控制服务器详解

目录
  • 一、Git 简介
    • 1.Git 特点
    • 2.版本控制器
    • 3.Git 工作流程
    • 4.Git 的几个核心概念
  • 二、基于 Linux 部署 Git 服务器
    • 1.Git 使用
    • 2.验证
  • 三、使用 GitHub
    • 1.注册账号
    • 2.在客户端上生成密钥对
    • 3.导入公钥密钥到 GitHub
    • 4.创建储存空间
    • 5.将本地项目上传到 GitHub
    • 6.查看 GitHub 文件
    • 7.同步远程仓库的最新状态到本地仓库

一、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 地址
Git CentOS 7.4 192.168.1.1
Client CentOS 7.4 192.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版本控制服务器的资料请关注我们其它相关文章!

(0)

相关推荐

  • git基础之各版本控制系统介绍

    目录 1.什么是版本控制系统 2.我们为什么要用版本控制 3.版本管理系统的演变 (1)本地版本控制系统 (2)集中化版本控制系统 (3)分布式版本控制系统 1.什么是版本控制系统 版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统.版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制. 有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态,你可以比较不同版本文件的变化细节,查出最后是谁修改了哪个地方.也

  • 使用版本控制原因及Git与Subversion介绍

    目录 前言 什么是版本控制? 那为什么还要力挺版本控制呢? Subversion 版本控制选择 分布式版本控制系统 Mercurial git 总结 前言 不知道什么是版本库的,扇自己两个大嘴巴:知道但不用的,扇自己四个大嘴巴.快扇去.你真扇了?那你是个大傻瓜.扇什么扇,有扇自己的功夫,还不赶紧去用版本库. 上面那句话是我根据<版本控制之道:使用Git>上一句读者感言发展而来的.版本控制真的那么重要,真的那么好吗? 什么是版本控制? [此段写给需要扇自己两个大嘴巴的人,以及部分需要扇四个大嘴巴

  • Git基础之git与SVN版本控制优缺点区别分析

    目录 Git和SVN的区别 (1)SVN(集中式版本管理系统) (2)Git(分布式版本管理系统) 2.SVN和Git的优缺点 (1)SVN优缺点 (2)Git优缺点 3.总结一下 Git和SVN的区别 (1)SVN(集中式版本管理系统) 集中式的版本控制系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新. Subversion属于集中式版本控制系统. 好处: 每个人都可以一定程度上看到项目中的其他人正在做些什么.

  • SVN与Git版本控制的优缺点差异全面分析

    目录 一.集中式vs分布式 1.Subversion属于集中式的版本控制系统 Subversion的特点概括起来主要由以下几条: 2.Git属于分布式的版本控制系统 Git具有以下特点: 二.版本库与工作区 1.SVN的版本库和工作区是分离的 2 .Git 的版本库和工作区如影随形 三.全局版本号和全球版本号 1. SVN与Git版本号比较 四.部分检出 1. SVN的部分检出 2. Git的检出 五.更新和提交 1.更新操作 2.SVN中的commit命令 3.Git中的暂存区域(stage)

  • Git版本控制常用命令及pycharm 使用git方法

    版本控制工具 VSS (采用锁机制) CVS SVN (集中式版本控制工具) GIT (分布式版本控制工具) git 服务器 git代码托管平台 github 自己搭建私服 gitblib git 客户端 linux : sudo apt install git window : git.exe git常见的命令 设置 git 用户身份 git config --global user.name '名字' ; git config --global user.email '邮件' ; 初始化一个

  • Git版本控制服务器详解

    目录 一.Git 简介 1.Git 特点 2.版本控制器 3.Git 工作流程 4.Git 的几个核心概念 二.基于 Linux 部署 Git 服务器 1.Git 使用 2.验证 三.使用 GitHub 1.注册账号 2.在客户端上生成密钥对 3.导入公钥密钥到 GitHub 4.创建储存空间 5.将本地项目上传到 GitHub 6.查看 GitHub 文件 7.同步远程仓库的最新状态到本地仓库 一.Git 简介 Git 是一款开源的分布式版本控制系统,可以有效.高效的处理从很小到非常大的项目版

  • Android 通过webservice上传多张图片到指定服务器详解

    Android 通过webservice上传多张图片到指定服务器详解 当你浏览这个的时候相信你对webservice的基本应用已经有一定的了解了,若是还没有明白的小伙伴,可以看我前面写的文章点击打开链接,这几天在开发一款app,需要上传图片到指定服务器吧,但是我刚开始以为在网上面应该有这样的好文章的吧,结果我在网络上找了好多代码,在传递图片的过程中,遇到各种bug,真是国人的东西就是喜欢复制别人的,自己不动手检验一下代码的正确性,哎,我也是无语了,然后我决定花点时间来填补一下这个空缺,写了这一片

  • Git 标签使用详解

    Git跟其他版本控制系统一样,可以打标签(tag)标记一个版本号. 发布一个版本时,我们通常先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本.将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一个快照. Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的. 一.列出标签 1. 列出当前仓库的所有标签:git tag 2. 列出所有标

  • git blame命令详解

    git blame用来追溯一个指定文件的历史修改记录.它能显示任何文件中每行最后一次修改的提交记录. 所以,如果你在代码中看到一个有 bug 的方法,你可以使用 git blame 标注这个文件,查看哪一次提交引入了这行. 用法: git blame filename 可以使用 -L 指定文件的行数范围: git blame -L n1,n2 filename 例如: 第一列是commit id:接下来是提交人.提交时间.注意一下 ^1da177e4c3f4 这个提交的几行,其中的前缀 ^ 指出

  • IDEA Git Stash 使用详解

    随着公司开发人员的增加,以及多需求的并行开发,功能上线就会碍手碍脚:害怕自己没写完的代码被别人部署到线上,害怕别人代码没写完被自己部署到线上:总之功能上线之前还要和所有开发沟通,能不能部署代码?如果只是几个人的团队倒也无妨,但是开发人员多了,沟通成本就很高了.于是 Git 的分支就发挥它的作用了,本文讲解工作中使用 IDEA 进行分支的管理以及合并,以及其他 Git 使用技巧. 环境准备 为了演示,先用 IDEA 创建一个简单工程,提交到 git 远程仓库当中. dev-100 分支创建 现在接

  • 码云git图文使用详解教程

    01 写在前面 一般我们都是将项目提交到github上,但是因为github私人库要钱,所以在真实项目开发中,我们还是可以选择将代码保存在码云上,毕竟也怕万一有人看到项目也是不好的,同时码云建私人库是免费的,而且操作什么和github很像,首先说明一句以下步骤都是基于git的,并且这些准备工作都不说了,比如git安装和码云账号的申请. 02 步骤 A. 和github一样,如果我们只是单纯的从上面clone代码,并不需要ssh配对.但是我们是为了将项目代码提交到上面,所以还是需要ssh key的

  • 在IDEA(2020.2)中配置Git及使用Git的图文详解

    一. idea中配置git 先配置好git的本地地址,然后test,出现版本号说明测试成功! 二. idea中使用git 可以直接在idea中使用命令操作git 1.初始化本地仓库 选好项目点击OK即可. 2.添加到暂存区 3.提交到本地仓库 也可以在这里提交,效果一样只是位置不一样 4.推送至远程仓库 5.直接克隆项目到本地 6.拉取项目到本地 7.创建分支 这时候就切换到了新创建的分支 到此这篇关于在IDEA(2020.2)中配置Git及使用Git的图文详解的文章就介绍到这了,更多相关IDE

  • Springboot整合Netty实现RPC服务器详解流程

    目录 一.什么是RPC? 二.实现RPC需要解决那些问题? 1. 约定通信协议格式 RPC请求 RPC响应 2. 序列化方式 3. TCP粘包.拆包 4. 网络通信框架的选择 三.RPC服务端 四.RPC客户端 总结 一.什么是RPC? RPC(Remote Procedure Call)远程过程调用,是一种进程间的通信方式,其可以做到像调用本地方法那样调用位于远程的计算机的服务.其实现的原理过程如下: 本地的进程通过接口进行本地方法调用. RPC客户端将调用的接口名.接口方法.方法参数等信息利

  • 阿里云Linux-CentOS系统下-搭建Git服务器详解

     阿里云Linux-CentOS系统下-搭建Git服务器 步骤总结: 1. 安装git 首先确认服务器是否安装Git 在Xshell中输入命令:$ rpm -qa git 结果如下表示已经安装: 如果未安装就安装git 在Xshell中输入:$ yum install git 2. 创建一个git用户,用来运行git服务: 在Xshell中输入:$ sudo adduser git 此时在阿里云服务器的根目录:/home文件夹下新增一个文件夹git 按这个层级建立文件用于存放客户端用户的公钥:/

  • telnet连接操作memcache服务器详解

    memcache作为一款优秀的进程外缓存,常常被运用于高并发系统架构中.这里主要谈谈怎么通过telnet工具,查看memcache运行状况并对其key进行管理维护.假设memcache安装目录:/usr/local/memcached 1.启动memcache 复制代码 代码如下: [root@localhost ~]# /usr/local/memcached/bin/memcached -d -m 512  -u root -l 192.168.119.70 -p 12000 -c 512

随机推荐