Git入门到精通——保姆级教程(涵盖GitHub、Gitee、GitLab)

文章目录

  • 前言
  • 一、Git
    • 1.Git-概述
      • 1.1.Git-概述-版本控制介绍
      • 1.2.Git-概述-分布式版本控制VS集中式版本控制
      • 1.3.Git-概述-代码托管中心
      • 1.4.Git-概述-安装和客户端的使用
    • 2.Git-命令(常用命令)
      • 2.1.Git-命令-设置用户签名
      • 2.2.Git-命令-初始化本地库
      • 2.3.Git-命令-查看本地库状态
      • 2.4.Git-命令-添加暂存区
      • 2.5.Git-命令-提交本地库
      • 2.6.Git-命令-修改文件
      • 2.7.Git-命令-版本穿梭
    • 3.Git-分支
      • 3.1.Git-分支-概述和优点
      • 3.2.Git-分支-查看
      • 3.3.Git-分支-创建
      • 3.4.Git-分支-切换
      • 3.5.Git-分支-合并分支(正常合并)
      • 3.6.Git-分支-合并分支(冲突合并)
    • 4.Git-团队协作和跨团队协作
  • 二、Git-GitHub
    • 1.GitHub-创建远程库&创建别名
    • 2.GitHub-推送本地库到远程库
    • 3.GitHub-拉取远程库到本地库
    • 4.GitHub-克隆远程库到本地
    • 5.GitHub-团队内协作
    • 6.GitHub-跨团队协作
    • 7.GitHub-SSH免密登录
  • 三、Git-IDEA集成Git
    • 1.IDEA集成Git-环境准备
      • 1.1.环境准备-配置Git忽略文件
      • 1.2.环境准备-IDEA定位Git程序
    • 2.IDEA集成Git-初始化&添加&提交
      • 2.1.初始化本地库
      • 2.2.添加到暂存区
      • 2.3.提交到本地库
      • 2.4.同时多个文件添加到暂存区&多个文件提交到本地库
    • 3.IDEA集成Git-切换版本
    • 4.IDEA集成Git-创建分支&切换分支
      • 4.1.创建分支(两种方法)
      • 4.2.切换分支
    • 5.IDEA集成Git-合并分支(正常合并)
    • 6.IDEA集成Git-合并分支(冲突合并)
  • 四、Git-IDEA集成GitHub
    • 1.IDEA集成GitHub-IDEA安装GitHub插件
    • 2.IDEA集成GitHub-设置GitHub账号
    • 3.IDEA集成GitHub-分享项目到GitHub
    • 4.IDEA集成GitHub-推送代码到远程库
    • 5.IDEA集成GitHub-拉取远程代码合并本地库
    • 6.IDEA集成GitHub-克隆代码到本地
  • 五、Git-码云(Gitee)
    • 1.码云-账号注册登录&创建远程库
      • 1.1.账号注册
      • 1.2.账号登录
      • 1.3.创建远程库
    • 2.码云-IDEA集成Gitee码云
      • 2.1.IDEA集成码云
      • 2.2.IDEA连接码云
      • 2.3.IDEA集成码云-推送代码到远程库
    • 3.码云-导入GitHub项目
  • 六、Git-GitLab
    • 1.GitLab-简介和环境安装准备
      • 1.1.GitLab简介
      • 1.2.GitLab安装准备
    • 2.GitLab-安装&初始化服务&启动服务
      • 2.1.GitLab安装
      • 2.2.GitLab初始化服务
      • 2.3.GitLab启动服务
    • 3.GitLab-登录GitLab&修改密码&GitLab设置为中文
      • 3.1.登录GitLab
      • 3.2.修改GitLab密码
      • 3.3.GitLab设置为中文
    • 4.GitLab-创建远程库
    • 5.GitLab-IDEA集成GitLab
      • 5.1.IDEA安装GitLab插件
      • 5.2.IDEA添加GitLab服务器
      • 5.3.IDEA推送代码到GitLab服务器

此文档来源于网络,如有侵权,请联系删除!

前言

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

一、Git

1.Git-概述

Git概述

  • Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。
  • Git 易于学习,占地面积小,性能极快。它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于 Subversion、CVS、Perforce 和ClearCase 等版本控制工具。

1.1.Git-概述-版本控制介绍

版本控制介绍

  • 版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。
  • 版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换。

1.2.Git-概述-分布式版本控制VS集中式版本控制

分布式版本控制VS集中式版本控制

  • 集中式版本控制:CVs、SVN(Subversion)、VSS

集中化的版本控制系统诸如 CVS、SVN等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。

这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易。

事分两面,有好有坏。这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。

  • 分布式版本控制:Git、Mercurial、 Bazaar、 Darcs…

像 Git 这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。

分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:
1.服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)
2.每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)

1.3.Git-概述-代码托管中心

代码托管中心

  • 代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库
    • 局域网
      • GitLab
    • 互联网
      • GitHub(外网)
      • Gitee码云(国内网站)

1.4.Git-概述-安装和客户端的使用

安装和客户端的使用

  • Git官网:https://git-scm.com/
  • Git下载安装:https://blog.csdn.net/weixin_44904239/article/details/131931961

2.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 版本号版本穿梭

2.1.Git-命令-设置用户签名

设置用户签名

  • 设置用户名

    git config --global user.name 用户名
    

    在这里插入图片描述

  • 设置邮箱

    git config --global user.email 邮箱 
    

    在这里插入图片描述

  • 查看是否配置成功

    • 打开电脑C盘→用户→电脑名称用户文件夹→查看.gitconfig文件内容
      在这里插入图片描述
      在这里插入图片描述

说明

  • 签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git 首次安装必须设置一下用户签名,否则无法提交代码。
  • 注意:这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任何关系。

2.2.Git-命令-初始化本地库

初始化本地库

  • 初始化本地库

    git init
    

    在这里插入图片描述

    初始化完成以后,文件夹下就会出现一个.git的隐藏文件

    在这里插入图片描述

2.3.Git-命令-查看本地库状态

查看本地库状态

  • 查看本地库状态(首次查看,工作区没有任何文件)

    git status
    

    在这里插入图片描述

  • 编辑文件(与Linux命令相同,文件存在则编辑,文件不存在则创建+编辑)

    vim 文件名
    

    在这里插入图片描述

    按i进入编辑模式→输入内容→按Esc退出编辑模式→输入":wq"按回车键保存退出

    在这里插入图片描述
    在这里插入图片描述

  • 显示当前目录下的内容
    在这里插入图片描述

  • 查看本地库状态(再次查看,检测到有未跟踪的文件)
    在这里插入图片描述

2.4.Git-命令-添加暂存区

添加暂存区

  • 添加暂存区

    git add 文件名
    

    在这里插入图片描述

  • 查看本地库状态(添加到暂存区,再次查看)

    在这里插入图片描述

  • 删除暂存区的文件(删除暂存区的文件后,工作区文件还是存在的)

    git rm --cached 文件名
    

    在这里插入图片描述

  • 查看本地库状态(删除暂存区的文件,再次查看,检测到有未跟踪的文件)

    在这里插入图片描述

2.5.Git-命令-提交本地库

提交本地库

  • 提交本地库

    git commit -m "日志信息" 文件名
    

    在这里插入图片描述

  • 查看本地库状态(提交本地库后查看本地库状态,显示在分机主机上无任何可提交的东西,工作树是干净的)

    在这里插入图片描述

  • 查看引用日志信息

    git reflog
    

    在这里插入图片描述

  • 查看详细日志信息

    git log
    

    在这里插入图片描述

2.6.Git-命令-修改文件

修改文件

  • 修改文件(与Linux命令相同,文件存在则编辑,文件不存在则创建+编辑)

    vim 文件名
    

    在这里插入图片描述

    按i切换编辑模式

    在这里插入图片描述
    在这里插入图片描述

    编辑完成后按Esc退出编辑模式→输入":wq"按回车保存退出

    在这里插入图片描述
    在这里插入图片描述

2.7.Git-命令-版本穿梭

版本穿梭

  • 查看版本信息

    git reflog
    

    在这里插入图片描述

  • 查看版本详细信息

    git log
    

    在这里插入图片描述

  • 版本穿梭

    git reset --hard 版本号
    

    在这里插入图片描述

3.Git-分支

3.1.Git-分支-概述和优点

概述和优点

  • 什么是分支

在版本控制过程中,同时推进多个任务,为每个任务我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是个单独的副本。(分支底层其实也是指针的引用)

  • 分支的好处

同时并行推进多个功能开发,提高开发效率。各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

命令名称作用
git branch -v查看分支
git branch 分支名创建分支
git checkout 分支名切换分支
git merge 分支名把指定的分支合并到当前分支上

3.2.Git-分支-查看

查看

  • 查看

    git branch -v
    

    在这里插入图片描述

3.3.Git-分支-创建

创建

  • 创建

    git branch 分支名
    

    在这里插入图片描述

3.4.Git-分支-切换

切换

  • 切换

    git checkout 分支名
    

    在这里插入图片描述
    在这里插入图片描述

3.5.Git-分支-合并分支(正常合并)

合并分支(正常合并)

  • 合并分支(正常合并)

    git merge 分支名
    

    在这里插入图片描述

3.6.Git-分支-合并分支(冲突合并)

合并分支(冲突合并)

  • 冲突产生的原因:

合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替我们决定使用哪一个。必须人为决定新代码内容。

案例(模拟合并冲突)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解决合并冲突

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

“查看状态(检测到有文件有两处修改)“

4.Git-团队协作和跨团队协作

团队协作和跨团队协作

  • 团队协作
    在这里插入图片描述

  • 跨团队协作

    在这里插入图片描述

二、Git-GitHub

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

GitHub官网:https://github.com/

在这里插入图片描述

  • 注册(根据提示要求进行注册)

    在这里插入图片描述
    在这里插入图片描述

  • 登录(根据提示要求进行登录)

    在这里插入图片描述

    在这里插入图片描述

  • 登录以后画面显示

  • 在这里插入图片描述

1.GitHub-创建远程库&创建别名

创建远程库

  • 创建远程库

    1.点击加号→New repository(创建新的远程仓库)

    在这里插入图片描述

    2.设置远程库名称(一般是和自己本地库同名)→Create repository(创建新的远程仓库)

    在这里插入图片描述

    3.创建成功

    在这里插入图片描述
    4.查看远程库的HTTPS链接&SSH链接

    在这里插入图片描述
    在这里插入图片描述

创建别名

  • 查看别名(查看当前所有远程地址别名-如图所示没有查到别名)

    git remote -v
    

    在这里插入图片描述

  • 创建别名

    git remote add 别名 远程地址
    

    在这里插入图片描述

    创建别名以后在查看别名(别名创建成功)

    在这里插入图片描述

2.GitHub-推送本地库到远程库

推送本地库到远程库

  • 推送本地库到远程库

    git push 别名 分支
    

    在这里插入图片描述
    提示输入yes后回车报错
    在这里插入图片描述
    再次执行命令还是报错
    在这里插入图片描述

  • 如上图所示报错解决办法:https://blog.csdn.net/weixin_44904239/article/details/132025848

    推送本地库到远程库成功
    在这里插入图片描述
    GitHub查看推送内容
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

3.GitHub-拉取远程库到本地库

拉取远程库到本地库

  • 修改Git Hub远程库内容
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 拉取远程库到本地库

    git pull 远程库地址别名 本地库分支名
    

    在这里插入图片描述
    在这里插入图片描述

4.GitHub-克隆远程库到本地

克隆远程库到本地

  • 克隆远程库到本地

    1.拿到远程库的链接地址

    在这里插入图片描述

    2.本地电脑创建一个新的文件夹用来存储远程库克隆文件(在新建的文件夹中打开Git bash)

    3.克隆远程库到本地

    git clone 远程地址
    

    在这里插入图片描述
    在这里插入图片描述

    4.克隆完成后查看新建文件夹中就会有从远程库克隆过来的文件等。。。

    在这里插入图片描述

  • 总结:clone会做如下操作

    • 1.拉取代码
    • 2.初始化本地仓库
    • 3.创建别名

5.GitHub-团队内协作

团队内协作

在这里插入图片描述

其他人想要推送和拉取代码到远程库,需要邀请其他人加入到到这个团队中

  • 邀请人员加入到团队中

    1.访问GitHub官网:https://github.com/ 然后登录

    2.点击需要邀请成员加入的项目

    在这里插入图片描述

    3.Setting→Collaborators→Add people

    在这里插入图片描述

    4.输入被邀请人的账号→添加成员

    在这里插入图片描述

    5.复制邀请函(将邀请行发给被邀请的成员)

    在这里插入图片描述
    6.被邀请的人需要访问GitHub→登录GitHub→将收到的邀请行复制到已经登录的浏览器地址栏然后访问→点击Accept invitation接受邀请→然后就可以看到项目内容等信息

    在这里插入图片描述
    在这里插入图片描述
    7.被邀请的人就可以推送和拉取代码到远程库

6.GitHub-跨团队协作

跨团队协作

在这里插入图片描述

  1. A将远程仓库的项目地址复制发送给跨团队协作的人员B。

    在这里插入图片描述

  2. 搜索项目(两种方法)

    方法一:跨团队协作的人员B拿到项目地址后,将项目地址复制到已经登陆了GitHub的浏览器地址栏

    在这里插入图片描述
    方法二:跨团队协作的人员B以 “账号名/项目名” 的方式,在GitHub网站的搜索框内进行搜索

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  3. 跨团队协作的人员B将项目叉到自己账号中(自己账号下就会显示叉过来的项目)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  4. 跨团队协作的人员B就可以克隆到自己的本地库或者直接线上修改(修改完成以后只有自己能看到,A是看不到的)

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

  5. 跨团队协作的人员B修改完代码后创建拉取请求

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  6. A查看拉取请求

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  7. A合并跨团队协作人员B修改过的代码

    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

7.GitHub-SSH免密登录

SSH免密登录

  • 生成SSH密钥(打开Git Bash执行下面命令)

    ssh-keygen -t rsa -b 4096 -C "邮箱号"
    

    此处邮箱号为创建GitHub账号的电子邮件地址,途中会让你输入密码啥的,不用管,一路回车即可,则会生成SSH密钥(如果重新生成的话会覆盖之前的SSH密钥)。

    在这里插入图片描述

  • 查看公钥&私钥文件(两种方法)
    方法一:找到公钥文件所在的目录直接打开查看

    此处可以看到一对文件,其中以.pub结尾的是公钥文件,另一个没有后缀的是私钥文件。

    在这里插入图片描述
    在这里插入图片描述

    方法二:通过打开Git Bash执行命令查看

    在这里插入图片描述

  • 将SSH公钥添加到GitHub

    1.登录GitHub,点击头像

    在这里插入图片描述

    2.点击Settings

    在这里插入图片描述

    3.SSH and GPG keys→New SSH key

    在这里插入图片描述

    4.填写标题→粘贴公钥→Add SSH key

    在这里插入图片描述

    5.添加成功

    在这里插入图片描述

三、Git-IDEA集成Git

1.IDEA集成Git-环境准备

1.1.环境准备-配置Git忽略文件

配置Git忽略文件

  • Eclipse特定文件
    在这里插入图片描述
  • IDEA特定文件
    在这里插入图片描述
  • Maven工程的targer目录
    在这里插入图片描述

为什么要忽略这些文件?与项目的实际功能无关,不参与服务器上部署运行。把他们忽略掉能够屏蔽IDE工具之间的差异。

  • 配置Git忽略文件

    1.创建忽略规则文件xxxx.ignore(前缀名随便起,建议是git.ignore)

    这个文件的存放位置原则上放在哪里都可以,为了便于让 ~/.gitconfig 文件引用,建议放在用户家目录下

    在这里插入图片描述

    git.ignore文件模板内容如下:

    在这里插入图片描述

    # Compiled class file 编译后的类文件
    *.class# Log file 日志文件
    *.log# BlueJ files
    *.ctxt# Mobile Tools for Java
    .mtj.tmp/# Package Files 包文件
    *.jar
    *.war
    *.nar
    *.ear
    *.zip
    *.tar.gz
    *.rar# virtual machine crash logs,see 虚拟机崩溃日志,参见 http://www.java.com/en/download/help/error_hotspot.xml 
    hs_err_pid*
    .classpath
    .project
    .settings
    target
    .idea
    *.iml
    

    2.在 .gitconfig 文件中引用忽略配置文件(此文件在Windows的家目录中)

    在这里插入图片描述

    在这里插入图片描述

    [user]name = xiongjianemail = xiongjian@163.com
    [core]excludesfile = C:/Users/xiongjian/git.ignore
    

    C:/Users/xiongjian/git.ignore代表的是git.ignore文件存在的目录位置,
    注意:这里要使用 "正斜线(/)",不要使用 "反斜线(\)"

1.2.环境准备-IDEA定位Git程序

IDEA定位Git程序

  1. 打开IDEA→File→Settings
    在这里插入图片描述
  2. Version Control→Git→选择自己本地安装的Git目录→Test测试→测试成功点击OK→OK
    在这里插入图片描述

2.IDEA集成Git-初始化&添加&提交

2.1.初始化本地库

  1. VCS→Import into Version Control→Create Git Repository

    在这里插入图片描述

  2. 选择需要被Git管理的项目→OK

    在这里插入图片描述
    在这里插入图片描述

2.2.添加到暂存区

  1. pom.xml文件显示红色,表示该文件未被追踪,未添加到暂存区

    在这里插入图片描述

  2. 选择pom.xml文件,鼠标右键→Git→Add

    在这里插入图片描述

2.3.提交到本地库

  1. pom.xml文件显示绿色,表示该文件已添加到暂存区,还未提交到本地库

    在这里插入图片描述

  2. 选择pom.xml文件,鼠标右键→Git→Commit File

    在这里插入图片描述

  3. 可以编写提交消息→查看提交内容→Commit

    在这里插入图片描述
    在这里插入图片描述

2.4.同时多个文件添加到暂存区&多个文件提交到本地库

  1. 创建新的文件的时候会有提示是否要将创建的文件添加到Git中

    在这里插入图片描述

  2. 两个文件未添加到暂存区

    在这里插入图片描述

  3. 选择整个项目,鼠标右键→Git→Add

    在这里插入图片描述

  4. 两个文件未添加到本地库

    在这里插入图片描述

  5. 选择整个项目,鼠标右键→Git→Commit Directory

    在这里插入图片描述

  6. Commit

    在这里插入图片描述

3.IDEA集成Git-切换版本

  1. 蓝色的文件表示该文件被追踪过,但是文件内容做了修改,还未添加到暂存区

    在这里插入图片描述

  2. 添加暂存区

    在这里插入图片描述

  3. 提交本地库(蓝色文件可以不添加暂存区直接提交本地库)

    在这里插入图片描述
    在这里插入图片描述

  4. 查看版本信息

    在这里插入图片描述
    在这里插入图片描述

  5. 切换版本(选择要切换的版本,鼠标右键→Checkout Revision)

    在这里插入图片描述

    黄色头指针指向了second commit版本,页面内容也发生了变化

    在这里插入图片描述

4.IDEA集成Git-创建分支&切换分支

4.1.创建分支(两种方法)

方法一

  1. 点击项目名称,鼠标右键→Git→Repository→Branches

    在这里插入图片描述

  2. New Branch

    在这里插入图片描述

  3. 起分支名→OK

    在这里插入图片描述
    在这里插入图片描述

方法二

  1. Git:master→New Branches

    在这里插入图片描述

4.2.切换分支

Git:master→选择要切换的分支→Checkout

在这里插入图片描述

5.IDEA集成Git-合并分支(正常合并)

合并分支(正常合并)

  1. 切换到hot-fix分支

    在这里插入图片描述

  2. 在hot-fix分支上修改或添加代码

    在这里插入图片描述

  3. 提交本地库

    在这里插入图片描述
    在这里插入图片描述

  4. 切换到master分支

    在这里插入图片描述

  5. 将hot-fix分支合并到master分支

    在这里插入图片描述

6.IDEA集成Git-合并分支(冲突合并)

合并分支(冲突合并)

  1. 切换到hot-fix分支

    在这里插入图片描述

  2. 在hot-fix分支上修改或添加代码

    在这里插入图片描述

  3. 提交本地库

    在这里插入图片描述
    在这里插入图片描述

  4. 切换到master分支

    在这里插入图片描述

  5. 在master分支上修改或添加代码

    在这里插入图片描述

  6. 提交本地库

    在这里插入图片描述
    在这里插入图片描述

  7. 这里清楚的看到针对于同一个版本修改了两次(此时合并必然发生冲突)

    在这里插入图片描述

  8. 将hot-fix分支合并到master分支

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  9. 合并成功

    在这里插入图片描述

四、Git-IDEA集成GitHub

1.IDEA集成GitHub-IDEA安装GitHub插件

  1. File→Settings

    在这里插入图片描述

  2. Plugins→搜索 “GitHub” 查看是否安装(我这边已经安装好了,如果没有安装就自行安装)

    在这里插入图片描述

2.IDEA集成GitHub-设置GitHub账号

1.File→Settings

在这里插入图片描述

2.Version Control→GitHub→点击+号

在这里插入图片描述

3.输入GitHub账号和密码→Log In(IDEA使用账号和密码很难登录上)

在这里插入图片描述
在这里插入图片描述

4.使用口令登录

在这里插入图片描述
在这里插入图片描述

5.访问GitHub官网→登录→点击头像

GitHub官网:https://github.com/

在这里插入图片描述

6.Settings

在这里插入图片描述

7.Developer settings

在这里插入图片描述

8.Personal access tokens→Tokens (classic)→Generate new token

在这里插入图片描述

9.Generate new token (classic)

在这里插入图片描述

10.取名→设置口令失效时间→设置权限(勾选所有权限)→Generate token

在这里插入图片描述

在这里插入图片描述

11.复制口令(创建完成第一时间复制口令,不然刷新一下就找不到了,就要重新创建口令了)

在这里插入图片描述

12.粘贴口令→Log In

在这里插入图片描述

13.OK

在这里插入图片描述

3.IDEA集成GitHub-分享项目到GitHub

注意:push 是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,push 的操作是会被拒绝的。也就是说,要想 push 成功,一定要保证本地库的版本要比远程库的版本高!因此一个成熟的程序员在动手改本地代码之前,一定会先检查下远程库跟本地代码的区别!!如果本地的代码版本已经落后,切记要先 pull 拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,推送!

1.VCS→lmport into Version Control→ Share Project on GitHub

在这里插入图片描述

2.定义远程库名称→起别名→添加描述信息→Share分享

分享前确认网络流畅,能正常访问GitHub官网,避免分享失败

分享失败解决方法参考:https://blog.csdn.net/weixin_44904239/article/details/132105434

在这里插入图片描述

3.创建远程库及推送中

在这里插入图片描述

4.用浏览器登录授权

在这里插入图片描述
在这里插入图片描述

5.在GitHub上成功共享项目

在这里插入图片描述

6.成功后,GitHub就能看到分享成功的远程库及推送的代码

在这里插入图片描述

4.IDEA集成GitHub-推送代码到远程库

1.添加或修改代码

在这里插入图片描述

2.提交本地库

在这里插入图片描述
在这里插入图片描述

3.推送代码到GitHub远程库(两种方法)

方法一

在这里插入图片描述

方法二

在这里插入图片描述

4.建议使用SSH链接方式

在这里插入图片描述

5.GitHub网站上复制项目的SSH链接

在这里插入图片描述
在这里插入图片描述

6.创建SSH链接方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.修改成SSH链接方式

在这里插入图片描述
在这里插入图片描述

8.推送代码到GitHub远程库

在这里插入图片描述

9.推送成功

在这里插入图片描述
在这里插入图片描述

5.IDEA集成GitHub-拉取远程代码合并本地库

注意:pull 是拉取远端仓库代码到本地,如果远程库代码和本地库代码不一致,会自动合并,如果自动合并失败,还会涉及到手动解决冲突的问题。

1.访问GitHub官网,登录后修改代码并提交修改

在这里插入图片描述
在这里插入图片描述

2.打开IDEA→VCS→Git→Pull

在这里插入图片描述

3.拉取远程代码合并本地库成功

在这里插入图片描述

6.IDEA集成GitHub-克隆代码到本地

1.删除本地库项目代码

在这里插入图片描述

2.打开IDEA→Check out from Version Control→Git

在这里插入图片描述

3.打开GitHub官网→登录→复制项目链接

在这里插入图片描述

4.粘贴项目链接→选择克隆下来项目存放的位置→Test(测试是否正常)→Clone

在这里插入图片描述

5.等待项目克隆完成

在这里插入图片描述

6.项目克隆完成

在这里插入图片描述
在这里插入图片描述

五、Git-码云(Gitee)

众所周知,GitHub服务器在国外,使用GitHub作为项目托管网站,如果网速不好的话,严重影响使用体验,甚至会出现登录不上的情况。针对这个情况,大家也可以使用国内的项目托管网站-码云。

码云是开源中国推出的基于Git的代码托管服务中心,网址是 https://gitee.com/,使用方式跟GitHub一样,而且它还是一个中文网站,如果你英文不是很好它是最好的选择。

1.码云-账号注册登录&创建远程库

1.1.账号注册

官网:https://gitee.com/

在这里插入图片描述

在这里插入图片描述

1.2.账号登录

官网:https://gitee.com/

在这里插入图片描述
在这里插入图片描述

1.3.创建远程库

1.点击 “+” 号→创建仓库

在这里插入图片描述

2.输入仓库名称→创建

在这里插入图片描述

3.创建完成

在这里插入图片描述

2.码云-IDEA集成Gitee码云

2.1.IDEA集成码云

1.File→Settings

在这里插入图片描述

2.Plugins→Marketplace→搜索"Gitee"→Install→Restart IDE→Restart

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2.IDEA连接码云

1.File→Settings

在这里插入图片描述

2.Version Control→Gitee→点击 “+” 号

在这里插入图片描述

3.输入账号、密码→Lon In→OK

在这里插入图片描述
在这里插入图片描述

2.3.IDEA集成码云-推送代码到远程库

1.打开Gitee官网→登录→复制项目链接

在这里插入图片描述

2.打开IDEA→选择要推送项目点击鼠标右键→Git→Repository→Push

在这里插入图片描述

3.origin→Define Remote→设置名称、粘贴项目链接→OK

在这里插入图片描述
在这里插入图片描述

4.输入Gitee账号和密码→Continue

在这里插入图片描述

5.origin→origin-gitee→Push

在这里插入图片描述
在这里插入图片描述

6.推送成功

在这里插入图片描述

在这里插入图片描述

3.码云-导入GitHub项目

1.创建项目→点击导入→选择导入方式,然后填写完信息点击导入即可

在这里插入图片描述
在这里插入图片描述

六、Git-GitLab

自建代码托管平台-GitLab

1.GitLab-简介和环境安装准备

1.1.GitLab简介

GitLab 是由 GitLabInc.开发,使用MIT 许可证的基于网络的Git 仓库管理工具,且具有wiki和 issue 跟踪功能。使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。

  • GitLab官网地址: https://about.gitlab.com/
  • 安装说明:https://gitlab.cn/install/

1.2.GitLab安装准备

  • 服务器准备

准备一个系统为 CentOS7 以上版本的服务器,要求内存 4G,磁盘 50G。配置好主机名和IP,保证服务器可以上网。我这边使用虚拟机:主机名:gitlab-server IP 地址: 192.168.3.240

#修改主机名(修改完成以后重启服务器生效)
vim /etc/hostname
  • 安装包准备

Yum 在线安装 gitlab-ce 时,需要下载几百M的安装文件,非常耗时,所以最好提前把所需rpm包下载到本地,然后使用离线rpm的方式安装。

下载地址:https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-13.10.2-ce.0.el7.x86_64.rpm

下载完成后直接将rpm包上传到服务器/opt/module 目录下即可。

在这里插入图片描述

2.GitLab-安装&初始化服务&启动服务

2.1.GitLab安装

1.执行下面命令先安装rpm包

sudo rpm -vih /opt/module/gitlab-ce-13.10.2-ce.0.el7.x86_64.rpm

在这里插入图片描述
在这里插入图片描述

2.根据下面安装说明一步步操作

  • 安装说明:https://gitlab.cn/install/

    在这里插入图片描述

    sudo yum install -y curl policycoreutils-python openssh-server perl
    sudo systemctl enable sshd
    sudo systemctl start sshd
    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo systemctl reload firewalld
    

    在这里插入图片描述

    sudo yum install postfix
    sudo systemctl enable postfix
    sudo systemctl start postfix
    

    在这里插入图片描述

    #这步执行等待时间比较长需要耐心等待
    curl -fsSL https://packages.gitlab.cn/repository/raw/scripts/setup.sh | /bin/bash
    #会删除安装旧的版本,安装新的版本
    sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-jh
    

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    #查看密码文件
    cat /etc/gitlab/initial_root_password
    

    在这里插入图片描述

2.2.GitLab初始化服务

#GitLab初始化服务(需要耐心等待,出现如下图所示表示初始化服务成功)
gitlab-ctl reconfigure

在这里插入图片描述
在这里插入图片描述

#修改gitlab.rb配置文件
vim /etc/gitlab/gitlab.rb

将如下图所示改为服务器IP地址

在这里插入图片描述

#修改后内容
external_url "http://192.168.3.240"
#修改完成后重新加载配置文件
gitlab-ctl reconfigure

2.3.GitLab启动服务

#启动GitLab服务
gitlab-ctl start

在这里插入图片描述

3.GitLab-登录GitLab&修改密码&GitLab设置为中文

3.1.登录GitLab

1.打开浏览器访问服务器IP地址

在这里插入图片描述

2.输入账号:root 密码:根据前面内容找到初始密码粘贴进行登录

在这里插入图片描述

3.2.修改GitLab密码

1.点击头像→Preferences

在这里插入图片描述

2.Password→输入旧的密码、新的密码→Save password

在这里插入图片描述
3.密码更新成功,请重新登录

在这里插入图片描述

3.3.GitLab设置为中文

1.点击头像→Preferences

在这里插入图片描述

2.Preferences→Language语言选择→选择中文→Save changes保存更改

在这里插入图片描述

3.退出账号重新登陆才会生效

在这里插入图片描述

4.GitLab-创建远程库

1.创建项目→创建空白项目

在这里插入图片描述
在这里插入图片描述

2.设置项目名称→公开→创建项目

在这里插入图片描述

3.创建成功

在这里插入图片描述

5.GitLab-IDEA集成GitLab

5.1.IDEA安装GitLab插件

1.File→Settings

在这里插入图片描述

2.Plugins→搜索 “gitlab” →Install→Restart IDE→Restart

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2.IDEA添加GitLab服务器

1.File→Settings

在这里插入图片描述

2.Vresion Control→GitLab→Add New GitLab Server

在这里插入图片描述

3.输入链接地址→选择对应的方式→点击OK→OK

在这里插入图片描述
在这里插入图片描述

5.3.IDEA推送代码到GitLab服务器

1.GitLab上复制项目链接地址

在这里插入图片描述

2.鼠标右击要推送的项目→Git→Repository→Push

在这里插入图片描述

3.origin→Define Remote

在这里插入图片描述

在这里插入图片描述

4.命名→粘贴链接地址→OK

在这里插入图片描述

5.origin→origin-gitlab→Push

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6.输入账号和密码→Continue

在这里插入图片描述

7.推送成功

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

此文档来源于网络,如有侵权,请联系删除!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/31819.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何解决新学期分班查询公布难题?试试这个方法

作为教师,我们常常需要进行学生分班管理,这项工作繁琐但至关重要。为了提高工作效率,我们可以利用现代技术开发一款学生分班查询系统。本文将介绍如何设计和开发这个系统。 首先,我们可以选择使用易查分这样的工具来帮助我们管理…

Java多线程(九)

目录 一、synchronized基本特点 二、synchronized加锁工作过程 2.1 无锁 2.2 偏向锁 2.3 轻量级锁 2.4 重量级锁 三、synchronized其他优化操作 3.1 锁消除 3.2 锁粗化 一、synchronized基本特点 开始是乐观锁,如果锁冲突频繁就会转换成悲观锁开始是轻量级锁&#x…

【java】mybatis-plus代码生成

正常的代码生成这里就不介绍了。旨在记录实现如下功能: 分布式微服务环境下,生成的entity、dto、vo、feignClient等等api模块,需要和mapper、service、controller等等分在不同的目录生成。 为什么会出现这个需求? mybatis-plus&am…

赛码网-triangle(dp) 100%AC代码(C)

———————————————————————————————————— ⏩ 大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的大三学生。 ⏩最近在准备秋招,一直在练习编程。 ⏩本篇文章对赛码网的01串的魔法 题目做…

【积水成渊】CSS磨砂玻璃效果和渐变主题色文字

大家好,我是csdn的博主:lqj_本人 lqj_本人_python人工智能视觉(opencv)从入门到实战,前端,微信小程序-CSDN博客 最新的uniapp毕业设计专栏也放在下方了: https://blog.csdn.net/lbcyllqj/category_12346639.html?spm1…

优思学院|6西格玛标准值水平是多少?

在质量管理和统计学领域,"6西格玛" 是一个重要的概念,它与产品和流程的质量有着密切的关系。本文将解释"6西格玛"标准值水平是什么,以及它在各个行业中的应用。 什么是6西格玛标准值水平? 理解西格玛 西格…

TextBrewer:融合并改进了NLP和CV中的多种知识蒸馏技术、提供便捷快速的知识蒸馏框架、提升模型的推理速度,减少内存占用

TextBrewer:融合并改进了NLP和CV中的多种知识蒸馏技术、提供便捷快速的知识蒸馏框架、提升模型的推理速度,减少内存占用 TextBrewer是一个基于PyTorch的、为实现NLP中的知识蒸馏任务而设计的工具包, 融合并改进了NLP和CV中的多种知识蒸馏技术&#xff0…

【Spring Boot】拦截器与统一功能处理

博主简介:想进大厂的打工人博主主页:xyk:所属专栏: JavaEE进阶 上一篇文章我们讲解了Spring AOP是一个基于面向切面编程的框架,用于将某方面具体问题集中处理,通过代理对象来进行传递,但使用原生Spring AOP实现统一的…

平板选择什么电容笔比较好?ipad手写笔推荐品牌

在现在的生活上,有了iPad平板,一切都变得简单了许多,也让我们的学习以及工作都更加的便利。这其中,电容笔就起到了很大的作用,很多人都不知道,到底要买什么牌子的电容笔?哪些电容笔的性价比比较…

CentOS7 启动谷歌浏览器 java+Selenium+chrome+chromedriver

前言:自己想使用该技术实现自动化抓取音乐,目前在window上运行成功,需要在Linux Centos服务上跑,配置上出现了许多问题,特此记录。 参考文档:CentOS7 安装Seleniumchromechromedriverjava_远方丿的博客-CSD…

后端开发7.轮播图模块【mongdb开发】

概述 轮播图模块数据库采用mongdb开发 效果图 数据库设计 创建数据库 use sc; 添加数据 db.banner.insertMany([ {bannerId:"1",bannerName:"商城轮播图1",bannerUrl:"http://xx:8020/img/轮播图/shop1.png"}, {bannerId:"2"…

深入学习 Redis - 主从结构配置、流程、底层原理(全网最详细)

目录 前言 一、主从模式 1.1、概述 1.2、配置 redis 主从结构 1.2.1、复制配置文件,修改 1.2.2、配置主从结构 1.2.3、启动 redis 服务 1.2.4、查看复制状态 1.3、slaveof 命令 1.3.1、断开主从复制关系 1.3.2、切换主从复制关系 1.3.3、只读 1.3.4、网…

C语言——自定义类型详解[结构体][枚举][联合体]

自定义类型详解 前言:一、结构体1.1结构体的声明1.2结构体内存对齐1.3位段(位域) 二、枚举2.1枚举类型的定义2.2枚举类型的优点2.3枚举的使用 三、联合体3.1联合体类型的定义3.2联合体的特点3.3联合体大小的计算 前言: 我打算把结…

solr迁移到另一个solr中(docker单机)

背景介绍 solr数据迁移,或者版本升级,需要用到迁移,此处记录一下迁移方法以及过程中遇到的问题。我这边使用的是docker环境,非docker部署的应该也是一样的。 solr部署教程 准备工作 ● solrA 版本: 8.11.2 (已有so…

Kafka基本概念

文章目录 概要整体架构broker和集群ProducerConsumer和消费者组小结 概要 Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多生产者、多订阅者,基于 zookeeper协调的分布式日志系统(也可以当做MQ系统)&#xff…

最佳实践:Swagger 自动生成 Api 文档

目录 Tapir 介绍 为什么使用 Tapir 快速使用 Tapir 添加依赖 定义一个端点(Endpoint) 生成 Swagger ui 根据 yaml 生成 endpoint 自动生成 API 文档的好处不言而喻,它可以提供给你的团队或者外部协作者,方便 API 使用者准确地调用到你的 API。为了…

list的使用和模拟实现

目录 1.list的介绍及使用 1.1 list的介绍 1.2 list的使用 1.2.1 list的构造 1.2.2 list iterator的使用 1.2.3 list capacity 1.2.4 list element access 1.2.5 list modifiers 2.为什么使用迭代器? 3.list的模拟实现 3.1完整代码 3.2代码解析 4.list与…

YOLOv5-7.0实例分割+TensorRT部署

一:介绍 将YOLOv5结合分割任务并进行TensorRT部署,是一项既具有挑战性又令人兴奋的任务。分割(Segmentation)任务要求模型不仅能够检测出目标的存在,还要精确地理解目标的边界和轮廓,为每个像素分配相应的…

Spring Boot配置文件与日志文件

1. Spring Boot 配置文件 我们知道, 当我们创建一个Spring Boot项目之后, 就已经有了配置文件存在于目录结构中. 1. 配置文件作用 整个项目中所有重要的数据都是在配置文件中配置的,比如: 数据库的连接信息 (包含用户名和密码的设置) ;项目的启动端口;第三方系统的调…

KMP字符串 (简单清晰/Java)

Kmp算法 解决问题: 字符串匹配问题 怎么解决? 前缀表next[]数组 #分析 先看暴力做法: 两层for循环,一层遍历文本串,一层遍历模式串(子串)对应的每个字符进行匹配,匹配成功就 i &a…