您现在的位置是:首页 >其他 >小白Git安装+使用,GitHub的使用网站首页其他

小白Git安装+使用,GitHub的使用

夏日一凉 2024-04-26 17:31:12
简介小白Git安装+使用,GitHub的使用

一.概念

1.Git的概念

Git是免费的,开源的分布式版本控制系统,可以快速处理从小型到大型的各种项目

2.版本控制

版本控制是一种记录文件变化,以便将来查阅特定版本修订情况的系统。重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本的切换。-个人开发过渡到团队协作
简单理解就像你写的一篇论文修改了好几个版本,而这些版本被记录在一个文件中,我们可以查看到这些修改的版本。

3.版本控制工具

集中式版本控制工具
概念:取出最新文件,再提交最新文件
好处:项目中每一个人可以看到其他人正在做什么,管理员也能管理每个开发者的权限
坏处:中央服务器的单点故障,中央服务器故障,谁都无法进行提交
在这里插入图片描述

分布式版本控制工具
每个程序员的电脑就是自己的代码库,由远程库统一管理
在这里插入图片描述

分布式解决集中式版本控制系统的缺陷:

  • 断网情况下也能进行开发
  • 每个客户端保存的也都是整个完整的项目

4.工作机制

在这里插入图片描述
workspace:工作区:磁盘存放代码的地方
Index/Stage:暂存区:临时存储,可以操作删除添加
Repository:仓库区(或本地仓库):历史版本,不能进行删除
Remote:远程仓库:代码托管中心是基于网络服务器远程仓库
代码托管中心:

  • 局域网:GitLab
  • 互联网:GitHub(外网),Gitee码云(国内网站)

二.安装

链接: git官网
在这里插入图片描述

查看安装git --version
安装完成后,还需要最后一步设置,在命令行输入如下:
在这里插入图片描述
因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。
注意:git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。
安装过程中的问题:
安装Git没有.ssl文件解决
打开git bash,输入ssh-keygen
练习
连续回车
在这里插入图片描述

三.Git常用命令

命令功能
Git config --global user.name 用户名设置用户签名
Git config --global user.email 邮箱设置用户签名
Git init初始化本地库
Git status查看本地库状态
Git add 文件名添加到暂存区
Git commit -m“日志信息” 文件名提交到本地库
Git reflog查看历史记录
Git reset --hard版本穿梭
  1. 设置用户签名
    Git config --global user.name 用户名
    Git config --global user.email 邮箱
    首次安装必须设置一下用户签名,否则无法提交代码,这里的用户签名与以后登录GitHub无关

  2. 初始化本地库
    Git init
    在这里插入图片描述

  3. 查看本地库状态
    git status
    这里hello.txt是红色,代表只是在工作区添加,并没有添加到暂存区
    [图片]
[图片]

  4. 添加暂存区
    Git add
    CRLF是windows里的换行符,LF是linux里的换行符,自动转
    这里hello.txt是绿色,代表添加到缓存区,如果从缓存区删掉,工作区也存在
    在这里插入图片描述

  5. 提交本地库
    Git commit -m“日志信息” 文件名
    在这里插入图片描述

  6. 修改文件
    这里insertion(+),insertion(-),代表新增一行,删除一行,把改动的原数据删除再重新添加
    在这里插入图片描述

  7. 历史版本,版本穿梭
    Git reflog:查看日志信息
    Git log:查看详细日志命令
    Git reset --hand 版本号:切换版本

四.Git分支

1.什么是分支

[图片]

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。一个分支就是一个单独的副本。(分支底层其实也是指针的引用)
同时并行推进多个功能开发,提高开发效率。
各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。
分支的操作

项目Value
Git branch 分支名创建分支
Git branch -v查看分支
Git checkout分支名切换分支
Git merge 分支名把指定分支合并到当前分支上

2.代码合并冲突解决

冲突产生的原因:
合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法替我们决定使用哪一个。必须人为决定新代码内容。
查看状态(检测到有文件有两处修改)
这里不知道取哪个分支的数据,会报红
在这里插入图片描述

保存后,添加到暂存区,执行提交(这里git commit不能带文件名)
在这里插入图片描述
这里合并分支只会修改你合并后的分支,你原本修改的分支不会变

五.GitHub和GitLab

1. GitHub的使用

1.1创建远程库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
HTTPS与HTTP
HTTPS:首先先从我们的应用入手,说到HTTPS就不得不说到HTTP了,当我们打开的网站前面的前缀是由https://开头的就说明了这个网站用到了https了,类似我们的银行网站,网络购票网站,淘宝,天猫。可以看到一个共同的特点,这些网站都或多或少涉及到金钱的交易,这就涉及到一个交易安全的问题。在这里可以简单的理解https是一个secure http(安全的http)当然实际上并不是那么简单啦。
SSH:我们经常通过ssh命令来连接服务器。没错的,ssh就是一种保障网络通信安全的协议,我们可以利用ssh建立起一个安全隧道,用这个安全隧道来连接我们的服务器,实现远程桌面。

命令Value
Git remote -v查看当前所有远程地址别名
Git remote add 别名 远程地址起别名
Git push别名 分支推送本地分支上的内容到远程仓库
Git clone远程地址将远程仓库的内推克隆到本地
Git pull远程库地址别名 远程分支名将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并

1.2跨团队协作

在这里插入图片描述
这里可以搜项目,属于团队外的人可以查看到你的项目,并可以帮忙改项目
在这里插入图片描述

Fork后萌萌就有了这个项目,那么它就会修改代码,
在这里插入图片描述
修改的代码展示出来
在这里插入图片描述

1.3.SSH免密登录

在这里插入图片描述
ssh-keygen -t rsa -C 登录邮箱
在这里插入图片描述
获取公钥:cat id_rsa.pub
在这里插入图片描述
在这里插入图片描述

复制下来
在这里插入图片描述
从远程仓库拉取文件
在这里插入图片描述

通过SSH提交远程库
在这里插入图片描述

2. GitHub和GitLab的区别

github,和gitlab都是基于git开发的管理代码的软件。
github的登录网站:https://github.com/
gitlab的登录网站:https://gitlab.com/users/sign_in

如果只单纯在这两个网站创建账号并创建项目,最大的区别是:github选择新建项目为私人时需要收费!而gitlab选择新建项目为私人时不需要收费!

虽然两个公司都提供了私人仓库的功能供个人和企业用户使用,即使两个公司的数据库很安全,但是很多公司是采用内网进行办公和传输数据,如果通过内网和外网这两个公司服务器进行代码和相关敏感数据的传输,传输途中容易被不法分子获取到数据,从而造成数据泄露。 因为很多公司都格外重视自己的代码成果,所以目前主流都是公司用自己买的服务器去搭建公司内部使用的gitlab,且gitlab支持一些插件写入自己的服务器脚本,从而可以设置公司每位成员的文件使用权限,从而确保公司项目代码的最大程度的保密和安全!

六.GitLab搭建自己的代码托管平台

检查服务配置

Linux服务器需要提前安装几个服务

yum install -y curl policycoreutils-python openssh-server

获取安装包

gitlab

安装

rpm -Uvh gitlab-ce-15.1.0-ce.0.el7.x86_64.rpm 

这里我出错

[root@minio-1 gitlab]# rpm -i gitlab-ce-14.9.3-ce.0.el8.x86_64.rpm 
警告:gitlab-ce-14.9.3-ce.0.el8.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID f27eab47: NOKEY
错误:依赖检测失败:
        policycoreutils-python-utils 被 gitlab-ce-14.9.3-ce.0.el8.x86_64 需要

解决办法

rpm -i gitlab-ce-14.9.3-ce.0.el8.x86_64.rpm --nodeps --force

安装配置依赖项

这是它安装的文档:gitlab官方文档
根据情况按照文档来。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。