git和github以及gitee总结

Git和GitHub

1.git

1.1 git介绍

​ 1>git是一个免费的,开源的分布式控制系统,可以快速的处理从小到大的各种项目

​ 2>为什么要用git的分布式版本控制?

image-20211021220554231

​ 3>版本控制工具

​ [1]SVN,CVS,VSS等集中式版本控制工具
image-20211022082802746

​ 坏处就是中央服务器的故障问题,如果中央服务器宕机,那么谁都无法协同工作

​ [2]Git等分布式控制工具

image-20211022083701715

​ 好处就是可以解决远程服务器宕机的情况
​ 且每个客户端都保存着整个项目的完整的版本(包括历史记录,更加安全)

​ 4>Git的工作机制

image-20211022090911856

​ 5>GIt和代码托管中心

​ 代码托管中心是基于网络服务器的远程代码仓库,一般我们称为远程库

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

1.2 git常用命令

1.2.1 设置用户签名

​ 1>签名的作用:用于区分不同的操作者的作者身份

​ 2>基本语法

​ git config --gobal user.name 用户名
​ got confing --gobal user.email 邮箱

1.2.3 本地库

​ 1> 初始化本地库

​ 命令: git init

​ 步骤: [1]先创建一个空的文件夹目录,作为git本地库的存放路径,然后在该文件中右击打开git
​ [2]输入命令
​ [3]查看git本地库的状态: 会自动创建一个.git的隐藏文件

​ 2>查看本地库的状态

​ 命令: git status
​ 显示:当前的分支
​ 当前已经提交过的东西
​ 本地库什么东西可以提交

​ 步骤: [1]创建一个文件夹
​ [2]添加内容
​ [3]可以看到第三行命令改变,有一个文件可以提交,且该文件是红色的

​ 3>添加暂存区

​ 命令: git add 项目名
​ git rm --cached 项目名 将一个文件从暂存区删除

​ 步骤:[1]执行命令
​ [2]发现文件变绿了
​ [3]再次执行删除命令
​ [4]发现文件又变红了

​ 4>提交本地库

​ 命令: git commit -m “日志信息” 文件名 提交文件到本地库(日志信息)
​ git reflog 显示日志信息
​ git log 显示详细的日志信息

​ 步骤: [1]执行命令后会显示七位的版本码
​ [2]第一行提示会消失,第二行不变,第三行显示没有东西可以提交
​ [3]git reflog 显示日志信息
​ [4]git 详细的日志信息

​ 5>git 修改本地库

​ 已经提交到本地库的项目可以直接的修改

​ 但是修改完后,用命令git status 会发现之前的文件会变成红色的,需要从新添加到暂存区和提交本地库

​ 使用命令git reflog会显示两个版本

1.2.4 版本穿梭

​ 作用:可以让当前的master指针指向特定的历史版本

​ 命令:git reset --hard 版本号

​ 先使用git reflog 查看历史版本说所对应的编号
​ 然后使用git reset --hard 版本号 即可让当前的master指针指向特定的版本

image-20211022202705654

1.3 git的分支

1.3.1 分支的定义

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

​ 分支的好处: [1]同时并行推进多个功能的开发,提高开发效率.
​ [2]各个分支在开发的过程中,如果某一个分支开发失败,不会对其它分支又任何影响,失败的分支重新开始即 可

image-20211022204403156

image-20211022204226319
1.3.2 分支的操作

​ 1>查看当前的分支

​ 命令: git branch -v

​ 2>创建一个分支

​ git branch 分支名

​ 3>切换分支

​ git checkout 分支名

​ 切换完分支后可以修改工程
​ 修改完工程后需要重新提交和保存到本地仓库

​ 4>分支合并

​ git merge 分支名

​ 在3>中使用切换分支并修改文件后,当切换回master分支后,发现master分支中的代码并没有被修改
​ 在master上执行命令git merge 分支名 即可合并分支
​ 这时可以发现查看代码发现代码被成功修改

​ 引: 冲突合并问题
​ 两个人都修改
​ 在master上修改代码, 并把代码添加到本地库和提交
​ 在hot-fix分支上也修改代码,并把代码保存(两次修改的内容不一样),并提交
​ 在master分支上合并hot-fix分支,发现冲突
​ vim 代码 发现有冲突信息,这时可以在vim编辑器内将信息修改为自己想要的样子
​ 提交的时候不能指定文件名,即:git commit -m “merg commit”
​ 切换回其它分支,发现其它的分支中的代码并不会被修改

1.4 Git团队协作

1.4.1 团队内协作

image-20211023091148948

1.4.2 跨团队协作

image-20211023093631747

2.GitHub

2.1创建一个远程仓库

​ 步骤:[1]在git.com首页右上角点击New repository
​ [2]在Repositoyr name中设置自己的远程库的名称
​ [3]选择public,并点击Create repostitory即可
​ [4]在本地的git中绑定远程仓库并起一个别名

​ 创建别名 git remote add 别名 网址https://github.com/OneTimes1/gitSpace.git

​ 查看别名 git remote -v

2.2 对远程库的操作

​ 1>推送本地库到远程库

​ git push 别名 分支

​ 输入命令
​ 打开浏览器挡路登录
​ 刷新 远程库,发现成功提交

​ 2> 同步远程库到本地库

​ git pull 别名 分支 即可将远程仓库的内容拉取到本地库中

​ 3>克隆远程库到本地

​ git clone 远程仓库的网址

​ 克隆好会自动创建一个该网址的别名,可以使用git remote -v 查看别名

​ 先清理自己的凭据管理器
​ 创建一个文件夹用于存放第二个用户的git信息
​ 在该文件夹下打开git,并输入命令,即可克隆

​ 4>团队协作

​ 适用场景:一个新人加入到某个公司后,需要参加该公司的代码的修改,这时就需要加入到该公司的组中,把代码下载到本 地,然后再把代码修改完后提交到远程仓库

​ 步骤:
​ [1]在主用户的git账号中邀请将角色1一同协同
​ [2]角色1需要登录自己的账号同意邀请,即可将主用户的仓库拉到自己的仓库中
​ [3]然后角色1就可以把自己写好的代码推送到远程仓库中
​ [4]主用户就可以看到远程仓库的代码已经发生了改变
​ [5]主用户可以把远程仓库的代码同步到自己的本地仓库

​ 5>跨团队合作

​ 适用场景:不同的团队之间修改代码

​ 步骤:
​ [1]角色2 可以在git主页面搜索账号名称/仓库名称
​ 也可以复制主用户的仓库地址,直接找到https://github.com/OneTimes1/gitSpace.git
​ [2]点击右上角的fork
​ [3]可以在线编辑该代码,编辑完后可以点击Pull Request–>create re–>可以在write中写入自己的描述–>在主角色 中点击pull request -->如果有疑问可以聊天–>Merge pull request即可合并代码–>Confirm merge确定合并
​ [4]也可以克隆到本地库,修改后提交

2.3 SSH免密登录

​ 作用: 在从本地库提交到远程仓库时:
image-20211023174347882

​ 步骤:[1]windows–用户–asus–打开git命令窗口
​ [2]命令:ssh-keygen -t rsa -C 用户的邮箱
​ [3]三次回车
​ [4]cat id_rsa.pub 得到公钥,复制下来
​ [5]在主用户名settings–SSH and GBK keys–New SSH–其名字–粘贴公钥
​ [6]Code–>SSH–>复制连接 git@github.com:OneTimes1/gitSpace.git
​ [7]git pull SSH的链接 分支名(master)
​ [8]修改一下代码
​ [9]提交到本地库
​ [10]git push SSH链接 分支 可以直接提交到远程库,不用在浏览器中登录

3.idea集成git

3.1配置Git忽略文件

​ 1>为什么?与项目无关不参与服务器的部署运行,把他们忽略掉可以屏蔽IDE工具之间的差异

​ 2>如何忽略

​ 步骤:
​ [1]git.ignore文件创建好
​ [2]c盘–>用户–>asus–>git.ignore
​ [3]git.config引用git.ignore,复制路径(要把反斜线修改为正斜线)
​ [4]在idea中配置适用Git程序
​ 创建一个maven工程
​ file–settings–versioncontrol–Git–path配置git的安装目录选中git.exe,提示git的版本信息即可

3.2在idea中适用git

​ 1>在idea中把项目放到暂存区和提交到本地库的方法:
​ [1]在idea的上面点击 VCS(版本控制工具)–Import into Version Control–Create Git Repostiory–ok
​ [2]查看文件发现.git,pom文件变红,表示未被追踪
​ [3]右键pom–git–add 变绿,表示添加到了暂存区
​ [4]写一些代码,弹出一个框,显示是否自动添加到git的暂存区中
​ [5]右键该类,git–add. 项目右键–git–add–显示是否添加忽略的文件,点击取消
​ [6]右键项目–git–commit 写一个提交信息,这个信息就是git commit -m '"" 引号中的信息
​ [7]提交完后项目会变为正常的黑色

​ 2>切换idea集成git版本

​ 在idea左下角点击git , 右键check reversion:黄色的头指针就会指向第二个版本

​ 3>在git中创建分支

​ git–repository–branches–new branch

​ 也可以点击idea的右下角,也可以创建分支,勾选checkout branch会自动切换该分支
​ 也可以直接的有下叫切换分支

​ 4>合并分支

​ 正常合并:

​ 在hot-fix分支上修改代码
​ 提交代码
​ 右下角切换master分支
​ 再点击有下角的分支,点击hot-fix–Merge into Current 即可合并

​ 冲突合并:

​ 在hot-fix上修改,并提交
​ 在master上也修改,并提交
​ 在master上合并hot-fix–merge into current–merge
​ 会显示三个框,两边的是冲突的代码,箭头是添加,x号是删除

3.3在idea中适用github

​ 1>前期准备工作:在idea中登录github
​ 步骤:
​ [1]在idea中,点击settings–version control–github–可以使用账号和密码登录,也可以使用token
​ [2]在github上点击 settings–Deveroper settings–persional access tokens–Generate new token–Note 起个名字
​ --全部打勾–打绿色对号的就是token–一定要把这个口令复制下来–在idea中输入即可

​ 2>把项目发布到远程库中(没有回自动创建)
​ 步骤:
​ [1]VCS–input into version control–shar project on github
​ [2]输入远程库的名字,romote为别名,可以跟库名相同,勾选private就是一个私有的库,不勾选就是公共的库

image-20211024094612869

​ 3>把idea中的代码push到github

​ 在本地修改完代码后需要先添加到本地库

​ 点击蓝色的项目–Define Remote–name 可以随便起,url填SSH的链接

​ 4>pull拉取远程仓库到本地

​ 在远程库中修改代码蓝色的箭头

​ 5>克隆远程仓库到本地

​ git from version control–git–url选择远程库中的代码链接

​ 注:在克隆前需要把平局管理器删一下

image-20211024110412974

image-20211024110809662

4.Gitee码云

4.1简介

​ github的服务器在国外,使用github作为项目托管网站,如果网速不是很好的话,会严重影响用户体验,甚至会出现无法登录 的情况,针对这个问题,大家也可以使用国内的托管网站-码云

​ 码云是开源中国推出的居于git 的代码托管服务中心,网址是https:gitee.com/, 使用方式跟github一样,而且还是一个中文 的网站

4.2在idea中使用码云

​ 1>准备工作

​ 需要在idea的插件中安装Gitee

​ 安装好之后就可以在设置里面看到gitee

​ 然后需要在idea的gitee中登录账号

​ 2>将项目pust到码云远程仓库

image-20211024161914112

image-20211024162044039

​ 3>将仓库pull到本地

​ 在码云上修改完代码后

​ idea中pull时要选择码云的name

​ 4>码云导入github的项目

​ 新建仓库–导入已有仓库–填写github的https的链接–创建即可

​ 如果github上的项目更新了,在gitee的仓库名的后面有个圈,可以点击这个圈,即可同步更新

5.GitLab

5.1GitLab简介

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

​ gitlab一开始是由ruby语言写的,后来,一部分用go语言重写.

5.1使用GitLab

​ 1>准备工作
​ 步骤:
​ [1] 在虚拟机上安装一个gitlab服务器
​ [2]输入命令vim /etc/sysconfig/network-scrips/ifcfg-ens33 修改其主机地址
​ [3]输入命令vim /etc/hostname 即可修改主机名
​ [4]如果从新配置了,那么就需要重启linux
​ //修改windows中的host文件中的linux的ip地址和主机名的映射,配置完了以后在xshell连接linux时就可以直接输 入lnux的名字,而不用输入ip地址
​ [5]下载gitlab-ce安装包,并放到linux的服务器上

​ 注:如果遇到了新建的主机无法上网的问题 , 可以等一会 , 不用任何的操作vnware为新的虚拟机配置网关需要一定的 时间

​ 2>gotlab的安装

​ 步骤:
​ [1]vim一个脚本文件
​ [2]给脚本添加权限
​ [3]执行脚本
​ [4]在linux上初始化gotlab服务并启动gitlab服务
​ 显示gitlab recinfigured!才是初始化成功
​ [5]在浏览器中输入虚拟机的ip地址,即可访问gitlab
​ 需要在该页面设置自己的密码,并设置一个用户名
​ [6]点击New Project–create blank project–设置自己远程库的名称,公共库–create

​ 注:第一次登录可能遇到的问题:
​ [1]装好gitlab后,在浏览器中输入gitlab的ip地址,需要创建一个密码,这个密码是管理员使用的密码,该账号是root
​ 所以在设置好密码后,就可以使用root,密码的方式登录管理员
​ [2]如果要新建一个账号,那么在申请完以后,需要管理员登录自己的账号来同意申请
​ [3]然后普通账号才能登录

在这里插入图片描述

在这里插入图片描述

​ 3>idea集成gitlab

​ [1]安装gitlab的插件
​ [2]在host文件中设置gitlab服务器的ip和域名映射 192.168.221.132 gitlab-server
​ [3]添加gitlab的服务器地址https://gitlab-server/
​ [4]复制gilab的远程仓库的链接http://gitlab-server/OneTime/git-test.git
​ 这里需要把gitlab.example.com改为linux服务器的主机名gitlab-server
​ [5]push–define --填写gitlab服务器的链接

​ 注:可能遇到的问题就是run按钮变灰
​ 解决办法就是project Structure – 在下面有个文件选项,可以选择一个文件作为输出文件,然后重启idea即可

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值