版本控制服务器——Git

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

版本控制服务器——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 服务,能够共享数据。



image.png


二、基于 Linux 部署 Git 服务器



准备工作


image.png


image.png

  • 注意: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                         # 初始化仓库


image.png


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


image.png


提交到本地仓库


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


image.png


配置账号和邮件


[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'


image.png


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


[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


image.png


三、使用 GitHub



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


1.注册账号


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


image.png


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


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


3.导入公钥密钥到 GitHub


image.png


登录验证


[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.创建储存空间


image.png


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 文件


image.png


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


在 GitHub 创建新的文件


image.png

image.png

image.png


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


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


image.png

相关文章
|
27天前
|
存储 开发工具 git
[Git] 深入理解 Git 的客户端与服务器角色
Git 的核心设计理念是分布式,每个仓库既可以是客户端也可以是服务器。通过 GitHub 远程仓库和本地仓库的协作,Git 实现了高效的版本管理和代码协作。GitHub 作为远程裸仓库,存储项目的完整版本历史并支持多客户端协作;本地仓库则通过 `.git` 文件夹独立管理版本历史,可在离线状态下进行提交、回滚等操作,并通过 `git pull` 和 `git push` 与远程仓库同步。这种分布式特性使得 Git 在代码协作中具备强大的灵活性和可靠性。
51 18
[Git] 深入理解 Git 的客户端与服务器角色
|
28天前
|
网络安全 Apache 开发工具
图解Git——服务器上的Git《Pro Git》
Git 远程仓库及通信协议简介:远程仓库为团队协作提供平台,支持共享代码。常见形式为裸仓库,仅保存 Git 元数据。Git 支持多种协议,包括本地协议(适合局域网)、HTTP/HTTPS(推荐智能 HTTP,安全易用)、SSH(企业内部协作首选)和 Git 协议(高效只读访问)。选择协议需根据协作需求、安全性和配置难度权衡。此外,搭建 Git 服务器涉及创建裸仓库、上传至服务器、初始化共享仓库等步骤。生成 SSH 公钥、配置服务器及使用 GitWeb 或 GitLab 等工具可进一步增强功能。第三方托管服务如 GitHub 提供便捷的托管选项,适合快速启动和开源项目。总结而言,自行运行服务器提
38 11
|
3月前
|
存储 项目管理 开发工具
掌握Git版本控制,提升团队协作效率
掌握Git版本控制,提升团队协作效率
79 0
|
3月前
|
测试技术 持续交付 开发工具
Git版本控制在团队协作中具有重要作用
Git版本控制在团队协作中具有重要作用
49 1
|
3月前
|
数据可视化 开发工具 git
如何解决 Git 版本控制系统中冲突的问题?
在Git版本控制系统中,冲突是指在合并或拉取操作时,两个或多个开发者对同一文件的同一部分进行了不同的修改,导致Git无法自动确定应该采用哪种修改。
70 1
|
3月前
|
开发工具 git
掌握Git版本控制,提升团队协作效率
掌握Git版本控制,提升团队协作效率
|
3月前
|
开发工具 git 开发者
|
3月前
|
Ubuntu 开发工具 git
Git高手必备:掌握这些版本控制最佳实践,让你的代码管理效率翻倍!
【10月更文挑战第25天】使用 Git 进行版本控制是现代软件开发的重要部分。本文详细介绍了 Git 的安装、配置、基本操作、分支管理、冲突解决及常用命令,帮助开发者提高工作效率,确保代码质量和团队协作的顺利进行。通过合理使用 Git,可以有效管理代码变更,支持多人协作,并追踪历史记录。
168 4
|
3月前
|
开发工具 C# git
C#一分钟浅谈:Git 版本控制与 GitFlow 工作流
【10月更文挑战第22天】本文介绍了 Git 和 GitFlow 的结合使用,从基础概念到具体操作,涵盖了安装配置、基本命令、GitFlow 工作流的核心分支和流程示例。同时,文章还讨论了常见的问题和易错点,如忽略文件、冲突解决、回退提交和分支命名规范,并提供了代码案例。通过学习本文,读者可以更好地理解和应用 Git 及 GitFlow,提高团队协作效率。
89 1
|
4月前
|
数据可视化 项目管理 开发工具
Git 可视化的实现:提升版本控制体验的利器
Git是最流行的分布式版本控制系统,广泛用于软件开发和项目管理。但其命令行操作复杂,难以直观理解,尤其是涉及分支和合并时。为此,Git可视化工具应运而生,通过图形界面帮助开发者更清晰地理解项目历史、分支结构及变更情况。本文将探讨Git可视化的概念背景、技术方法及相关工具,包括GitKraken、Sourcetree、Gitg、Git Extensions和Tig等,帮助读者掌握其在日常工作中的应用,提升版本管理效率。此外,还将介绍如何结合可视化项目管理工具,如板栗看板,实现更高效的团队协作和任务管理。
93 0