版本控制服务器——Git
Posted 愿许浪尽天涯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了版本控制服务器——Git相关的知识,希望对你有一定的参考价值。
版本控制服务器——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 地址 |
---|---|---|
Git | CentOS 7.4 | 192.168.1.1 |
Client | CentOS 7.4 | 192.168.1.2 |
- 注意:CentOS 7 上默认已经安装好了 Git 服务。
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的主要内容,如果未能解决你的问题,请参考以下文章