当前位置: 首页 > news >正文

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.推送成功

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


在这里插入图片描述

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

相关文章:

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

文章目录 前言一、Git1.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.…...

题解 | #J.Permutation and Primes# 2023牛客暑期多校8

J.Permutation and Primes 构造 题目大意 给定一个正整数 n n n ,构造一个 n n n 的排列,使得每对相邻元素的和或差的绝对值为一奇素数 解题思路 两个数的和或差是奇数,那么它们的奇偶性一定是不同的,因此所求排列中&#…...

用vim打开后中文乱码怎么办

Vim中打开文件乱码主要是文件编码问题。用户可以参考如下解决方法。 1、用vim打开.vimrc配置文件 vim ~/.vimrc**注意:**如果用户根目录下没有.vimrc文件就把/etc/vim/vimrc文件复制过来直接用 cp /etc/vim/vimrc ~/.vimrc2、在.vimrc中加入如下内容 set termen…...

自然语言处理: 第六章Transformer- 现代大模型的基石

理论基础 Transformer(来自2017年google发表的Attention Is All You Need (arxiv.org) ),接上面一篇attention之后,transformer是基于自注意力基础上引申出来的结构,其主要解决了seq2seq的两个问题: 考虑了原序列和目…...

01-Hadoop集群部署(普通用户)

Hadoop集群部署(普通用户) 环境准备 1)准备3台客户机(关闭防火墙、静态IP、主机名称) 如果这一步已经配置过了,可以忽略 # 1 关闭防火墙 systemctl stop firewalld.service # 关闭当前防火墙 systemctl…...

DC电源模块关于的电路布局设计

BOSHIDA DC电源模块关于的电路布局设计 DC电源模块是现代电子设备中常用的电源模块之一,其功能是将市电或其他输入电源转换成定电压、定电流的直流电源输出,以满足电子设备的供电需求。电路布局的设计是DC电源模块的重要组成部分,它直接影响…...

MATLAB实现免疫优化算法(附上多个完整仿真源码)

免疫优化算法是一种基于免疫学原理的优化算法。该算法的基本思想是通过模拟人类免疫系统的功能,来寻找最优解。 MATLAB是一种专门用于数学计算和数据处理的软件工具,它具有强大的数学计算和数据分析能力,可以方便地实现各种优化算法。 本文…...

登录界面中图片验证码的生成和校验

一、用pillpw生成图片验证码 1、安装pillow pip install pip install pillow2、下载字体 比如:Monaco.ttf 3、实现生成验证码的方法 该方法返回一个img ,可以把这个img图片保存到内存中,也可以以文件形式保存到磁盘,还返回了验证码的文字…...

go的make使用

在 Go 语言中,make 是一个用于创建切片、映射(map)和通道(channel)的内建函数。它提供了一种初始化和分配内存的方式,用于创建具有特定长度和容量的数据结构。下面将详细介绍 make 函数的使用方法和各种情况…...

竞赛项目 深度学习实现语义分割算法系统 - 机器视觉

文章目录 1 前言2 概念介绍2.1 什么是图像语义分割 3 条件随机场的深度学习模型3\. 1 多尺度特征融合 4 语义分割开发过程4.1 建立4.2 下载CamVid数据集4.3 加载CamVid图像4.4 加载CamVid像素标签图像 5 PyTorch 实现语义分割5.1 数据集准备5.2 训练基准模型5.3 损失函数5.4 归…...

一元三次方程求解

一元三次方程求解 题目描述提示输入输出格式输入格式输出格式 输入输出样例输入样例输出样例 算法分析A C 代码 题目描述 有形如: a x 3 b x 2 c x d 0 ax^3bx^2c^xd0 ax3bx2cxd0一元三次方程。给出该方程中各项的系数 ( a a a, b b b,…...

基于java在线音乐网站设计与实现

在线音乐网站的设计与实现 摘 要 随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用SSM框架…...

Python爬虫如何更换ip防封

作为一名长期扎根在爬虫行业动态ip解决方案的技术员,我发现很多人常常在使用Python爬虫时遇到一个困扰,那就是如何更换IP地址。别担心,今天我就来教你如何在Python爬虫中更换IP,让你的爬虫不再受到IP封锁的困扰。废话不多说&#…...

涛思数据联合长虹佳华、阿里云 Marketplace 正式发布 TDengine Cloud

近日,涛思数据联合长虹佳华,正式在阿里云 Marketplace 发布全托管的时序数据云平台 TDengine Cloud,为用户提供更加丰富的订购渠道。目前用户可通过阿里云 Marketplace 轻松实现 TDengine Cloud 的订阅与部署,以最低的成本搭建最高…...

特殊符号的制作 台风 示例 使用第三方工具 Photoshop 地理信息系统空间分析实验教程 第三版

特殊符号的制作 首先这是一个含有字符的,使用arcgis自带的符号编辑器制作比较困难。所以我们准备采用Adobe Photoshop 来进行制作符号,然后直接导入符号的图片文件作为符号 我们打开ps,根据上面的图片的像素长宽比,设定合适的高度…...

IoTDB1.X windows运行失败问题的处理

在windows运行 IoTDB1.x时 会出现如图所示的问题 为什么会出现这样的问题?java没有安装还是未调用成功,我是JAVA8~11~17各种更换都未能解决问题,最后对其bat文件进行查看,发现在conf\datanode-env.bat、conf\confignode-env.bat这…...

pdf转图片【java版实现】

一、引入依赖 引入需要导入到项目中的依赖&#xff0c;如下所示&#xff1a; <!-- pdf转图片 --><dependency><groupId>net.sf.cssbox</groupId><artifactId>pdf2dom</artifactId><version>1.7</version></dependency>…...

python3.6 安装pillow失败

问题描述 python3 安装 pillow 失败 错误原因 python3.6 不支持 pillow9.0 以上的版本 解决方法&#xff1a; 指定版本安装 e.g., pillow8.0 pip3 install pillow8.0...

巨人互动|Meta海外户Meta的业务工具转化API

Meta的业务工具转化API是一项创新技术&#xff0c;它可以帮助企业实现更高效的业务工具转化和集成。通过这个API&#xff0c;企业可以将不同的业务工具整合到一个统一的平台上&#xff0c;提高工作效率和协作能力。本文小编将介绍Meta的业务工具转化API的功能和优势。 巨人互动…...

【JAVA】包、权限修饰符、final关键字、常量、枚举、抽象类、接口

1 包 包是用来分门别类的管理各种不同类的&#xff0c;类似于文件夹、建包利于程序的管理和维护。建包语句必须在第一行建包的语法格式&#xff1a;package 公司域名倒写.项目名称。包名建议全部小写相同包下的类可以直接访问&#xff0c;不同包下的类必须导包&#xff0c;才可…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天&#xff0c;通信网络的角色正变得愈发关键。 2025年6月6日&#xff0c;为期三天的华南国际工业博览会在深圳国际会展中心&#xff08;宝安&#xff09;圆满落幕。作为国内工业通信领域的技术型企业&#xff0c;光路科技&#xff08;Fiberroad&…...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时&#xff0c;拉取并启动容器后&#xff0c;有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致&#xff0c;包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因&#xff0c;并提供解决方案。 一、确认MySQL容器的运行状态 …...

文件上传漏洞防御全攻略

要全面防范文件上传漏洞&#xff0c;需构建多层防御体系&#xff0c;结合技术验证、存储隔离与权限控制&#xff1a; &#x1f512; 一、基础防护层 前端校验&#xff08;仅辅助&#xff09; 通过JavaScript限制文件后缀名&#xff08;白名单&#xff09;和大小&#xff0c;提…...

深入浅出JavaScript中的ArrayBuffer:二进制数据的“瑞士军刀”

深入浅出JavaScript中的ArrayBuffer&#xff1a;二进制数据的“瑞士军刀” 在JavaScript中&#xff0c;我们经常需要处理文本、数组、对象等数据类型。但当我们需要处理文件上传、图像处理、网络通信等场景时&#xff0c;单纯依赖字符串或数组就显得力不从心了。这时&#xff…...