梦见你的名字 发表于 前天 21:19

Git、Github、Gitee、GitLab学习,团队帮助/版本控制

Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处置惩罚从小型到大型的各种 项目。B站尚硅谷Git学习条记
https://i-blog.csdnimg.cn/blog_migrate/05234ccfabc3abe482c6517233294543.png
目次
一、Git的常用命令
1.git工作机制
2.历史版本
2.1检察历史版本
1)根本语法
2)案例实操 
2.2版本穿梭
1)根本语法
2)案例实操
二、Git分支操纵
1.切换分支
1)根本语法
2)案例实操
2.归并分支 
1)根本语法
2)案例实操 在 master 分支上归并 hot-fix 分支
3.产生冲突及解决
1)产生冲突的缘故原由
2)解决冲突
①编辑有冲突的文件,删除特别符号,决定要利用的内容
②添加到暂存区
③实验提交(留意:此时利用 git commit 命令时不能带文件名)
4.Git底层实在是指针
三、GitHub
1.长途仓库操纵
1.1创建长途仓库别名
1)根本语法
2)案例实操
1.2推送本地分支至长途仓库
1)根本语法
2)案例实操
1.3拉取长途库到本地库
1)根本语法
2)案例实操
1.4邀请参加团队
1.4克隆长途仓库到本地
1)根本语法
2)案例实操
2.团队协作
1)团队内协作
2)跨团队帮助
3.SSH免密登录
1)进入用户根目次,运行命令生成.ssh 秘钥目次
2)进入.ssh 目次检察文件列表:一个公钥、一个私钥
3)复制 id_rsa.pub 文件内容,登录 GitHub,点击用户头像→Settings→SSH and GPG keys
四、Idea集成Git
1.切换版本
2.创建分支和切换分支
​编辑 3.归并分支(正常)
4.归并冲突并解决冲突
1)归并冲突
2)解决冲突
五、Idea集成GitHub和Gitee
1.GitHub(国外代码托管中心)
1)设置 GitHub 账号
2)分享工程到 GitHub
3)push 推送本地库到长途库
4)pull 拉取长途库到本地库
5)clone 克隆长途库到本地
2.Gitee码云(国内代码托管中心)
1)IDEA 安装码云插件
2)码云复制 GitHub 项目
六、GitLab-自建代码托管平台

一、Git的常用命令

https://i-blog.csdnimg.cn/blog_migrate/0faefcf6bcab1e77a8a677596e73524e.png
1.git工作机制

   工作区和暂存区的文件都可删除,但是提交到本地库则不可删除,有历史记载
https://i-blog.csdnimg.cn/blog_migrate/9c01648cef9fa6ca28100644a120de18.png
2.历史版本

2.1检察历史版本

1)根本语法

   git reflog 检察版本信息
git log 检察版本详细信息
2)案例实操 

https://i-blog.csdnimg.cn/blog_migrate/f8fdea7b151407244d0fd54ff14553da.png
2.2版本穿梭

1)根本语法

   git reset --hard 版本号
2)案例实操

从第3版穿梭至第2版
https://i-blog.csdnimg.cn/blog_migrate/5257cce8edde4d54e106c46d0475d3cd.png
二、Git分支操纵

   在版本控制过程中,同时推进多个使命,为每个使命,我们就可以创建每个使命的单独 分支。利用分支意味着步伐员可以把自己的工作从开辟主线上分离开来,开辟自己分支的时 候,不会影响主线分支的运行。
https://i-blog.csdnimg.cn/blog_migrate/abf010129cfa2c591e015dd8c82db2c6.png
https://i-blog.csdnimg.cn/blog_migrate/49be9bc4cfd680931a8bb55c2d73c8b5.png
1.切换分支

1)根本语法

   git checkout 分支名
2)案例实操

https://i-blog.csdnimg.cn/blog_migrate/a86968f07d2aa546298a5494f25881be.png
2.归并分支 

1)根本语法

   git merge 分支名
2)案例实操 在 master 分支上归并 hot-fix 分支

即hot-fix分支覆盖master分支
https://i-blog.csdnimg.cn/blog_migrate/c9f7a83343b09c9f430eca68867e8654.png
3.产生冲突及解决

1)产生冲突的缘故原由

   归并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替我们决定利用哪一个。必须人为决定新代码内容。
https://i-blog.csdnimg.cn/blog_migrate/3064b57efeda6e1407e8129b54878593.png
2)解决冲突

①编辑有冲突的文件,删除特别符号,决定要利用的内容

特别符号:
   <<<<<<< HEAD
当前分支的代码
=======
归并过来的代码
>>>>>>> hot-fix
②添加到暂存区

③实验提交(留意:此时利用 git commit 命令时不能带文件名)

错误示例:(提交了文件名,git不知道是哪个hello.txt)
https://i-blog.csdnimg.cn/blog_migrate/5f8878c74b61e2ddb017c10e1a567caf.png
正确提交:
https://i-blog.csdnimg.cn/blog_migrate/caf2e9fbaa6f22c4a8337280ce52d928.png
4.Git底层实在是指针

   Git 切换版本,底层实在是移动的 HEAD 指针
master、hot-fix 实在都是指向具体版本记载的指针。当前所在的分支,实在是由 HEAD 决定的。所以创建分支的本质就是多创建一个指针。 HEAD 假如指向 master,那么我们现在就在 master 分支上。 HEAD 假如实验 hotfix,那么我们现在就在 hotfix 分支上。
https://i-blog.csdnimg.cn/blog_migrate/1243ad2bf647b9c3c7acff1ee15bbd2e.png
三、GitHub

   代码托管中心是基于网络服务器的长途代码仓库,一般我们简单称为长途库。
➢ 局域网 ✓ GitLab
➢ 互联网 ✓ GitHub(外网) ✓ Gitee 码云(国内网站)
1.长途仓库操纵

https://i-blog.csdnimg.cn/blog_migrate/8c3a58c16cb32d4a1614d0a5622c2580.png
1.1创建长途仓库别名

1)根本语法

   git remote -v 检察当前所有长途所在别名
git remote add 别名 长途所在
2)案例实操

https://i-blog.csdnimg.cn/blog_migrate/ba7fdacb5e412604213c72b51624a3de.png
1.2推送本地分支至长途仓库

1)根本语法

   git push 别名 分支
2)案例实操

https://i-blog.csdnimg.cn/blog_migrate/d85b4d174e4a9e31d9d5b943ddab7a32.png
推送乐成! 
https://i-blog.csdnimg.cn/blog_migrate/3548b828ab5384377a3c0cfb3e0ff3b6.png
1.3拉取长途库到本地库

1)根本语法

   git pull 长途库所在别名 长途分支名
2)案例实操

即同步本地库的代码为长途库修改的代码
https://i-blog.csdnimg.cn/blog_migrate/2c5c8356957ea429e9cfc1c0b5f5ce63.png
1.4邀请参加团队

1)选择邀请互助者
https://i-blog.csdnimg.cn/blog_migrate/e4bf3dff3377669ea0b783076e072aa3.png
2)填入想要互助的人
https://i-blog.csdnimg.cn/blog_migrate/273e7cb09f536c055fef9754f3064911.png
3 ) 复 制 地 址 并  发 送 给 该 用 户
https://i-blog.csdnimg.cn/blog_migrate/0150135cba7d65cbc9ac23a529af1000.png
4)在 atguigulinghuchong 这个账号中的所在栏复制收到邀请的链接,点击接受邀请。
https://i-blog.csdnimg.cn/blog_migrate/37e699d414c691dd45e3105004bb1313.png
5)乐成之后可以在 atguigulinghuchong 这个账号上看到 git-Test 的长途仓库。
1.4克隆长途仓库到本地

1)根本语法

   git clone 长途所在
2)案例实操

令狐冲 克隆 岳岳的长途库代码到本地
https://i-blog.csdnimg.cn/blog_migrate/823bebcc821909f597cfec07118de46a.png
小结:clone 会做如下操纵:
1、拉代替码。
2、初始化本地仓库。
3、创建别名(自动为origin)
2.团队协作

1)团队内协作

令狐冲克隆岳岳的代码到本地库后,
可以修改本地代码-->参加本地暂存区-->提交到本地库->推送长途库(要参加团队)
2)跨团队帮助

在东方不败的 GitHub 账号里的所在栏复制收到的链接,然后点击 Fork 将项目叉到自 己的本地仓库。
https://i-blog.csdnimg.cn/blog_migrate/4f83bd0dd4a75f1555ad1ef40a757232.png
东方不败在线编辑代码后,接下来点击上方的 Pull 哀求,并创建一个新的哀求。
https://i-blog.csdnimg.cn/blog_migrate/b60f93f78f70abe0594891573e42afac.png
假如代码没有问题,可以点击 Merge pull reque 归并代码
https://i-blog.csdnimg.cn/blog_migrate/09f253ed629a0b35756d526e88d567ee.png
3.SSH免密登录

https://i-blog.csdnimg.cn/blog_migrate/ff99af216505e0047c2c095b8e82a49f.png
1)进入用户根目次,运行命令生成.ssh 秘钥目次

https://i-blog.csdnimg.cn/blog_migrate/fe7b7dcca9d72e5835aba4fd372b1b56.png
2)进入.ssh 目次检察文件列表:一个公钥、一个私钥

https://i-blog.csdnimg.cn/blog_migrate/e481695e1b0a7768bedcd423e4f293f0.png
3)复制 id_rsa.pub 文件内容,登录 GitHub,点击用户头像→Settings→SSH and GPG keys

https://i-blog.csdnimg.cn/blog_migrate/d597356e97bb397de6fdc9ff4b43f5c3.png
接下来再往长途仓库 push 东西的时候利用 SSH 毗连就不需要登录了。
四、Idea集成Git

1.切换版本

   commit代码到本地库后,可以切换版本
在 IDEA 的左下角,点击 Version Control(Git),然后点击 Log 检察版本
右键选择要切换的版本,然后在菜单里点击 Checkout Revision。
https://i-blog.csdnimg.cn/blog_migrate/a5abaf5da1f7ae59508b8c606a6bed19.png
切换后,头指针指向了第二个版本,代码也变为了第二个版本
https://i-blog.csdnimg.cn/blog_migrate/2ffa4914b16c09150ef7167723996176.png
2.创建分支和切换分支

   选择 Git,在 Repository 里面,点击 Branches 按钮。 
https://i-blog.csdnimg.cn/blog_migrate/1896bab81ae9132a7d2782649fc98fb5.png
   在弹出的 Git Branches 框里,点击 New Branch 按钮。
填写分支名称,创建 hot-fix 分支。checkout branch 表现切换到hot-fix分支
 https://i-blog.csdnimg.cn/blog_migrate/787e031ef5e3eab1d98eaef4fbabd05b.pnghttps://i-blog.csdnimg.cn/blog_migrate/daa069dc0ce7457b3adc5067a509f708.png
   也可以在右下角切换回 master 分支
https://i-blog.csdnimg.cn/blog_migrate/575f79977ae4521fafb74ee8dc8f98f8.png 3.归并分支(正常)

https://i-blog.csdnimg.cn/blog_migrate/700ba5a5c71db7ce9fe43e51be1aaef0.png
https://i-blog.csdnimg.cn/blog_migrate/0057d8983e882768ca6f55109f0541d2.png
4.归并冲突并解决冲突

1)归并冲突

   如图,假如 master 分支和 hot-fix 分支都修改了代码,在归并分支的时候就会发生 冲突
https://i-blog.csdnimg.cn/blog_migrate/fd8f091b95a7ba70c2f9744a20e2e75f.png
https://i-blog.csdnimg.cn/blog_migrate/da00b68b10003d48ac0cdd81f9fded37.png
2)解决冲突

   点击 Conflicts 框里的 Merge 按钮,举行手动归并代码。
https://i-blog.csdnimg.cn/blog_migrate/e0cfcf04796cd17c7df250f4f5eeb823.png
https://i-blog.csdnimg.cn/blog_migrate/fc78983ad04b5d12a5c73eb7548ec3a9.png
   手动归并完代码以后,点击右下角的 Apply 按钮。 
https://i-blog.csdnimg.cn/blog_migrate/bedb00bce8e757c6f0b22bfa07449793.png
五、Idea集成GitHub和Gitee

1.GitHub(国外代码托管中心)

1)设置 GitHub 账号

https://i-blog.csdnimg.cn/blog_migrate/a4a907a21f12e7d4098c36086de57248.png
2)分享工程到 GitHub

https://i-blog.csdnimg.cn/blog_migrate/44e21a0f3316f3410a2ba9c5cbebe78b.png
https://i-blog.csdnimg.cn/blog_migrate/2bb4ffedfc6de51a4d03399738c851f7.png
https://i-blog.csdnimg.cn/blog_migrate/9e72597b5864294517034e601b1780b9.png
3)push 推送本地库到长途库

https://i-blog.csdnimg.cn/blog_migrate/3badc5b8d2bca52233d4ed7003643902.png
默认是HTTPS,这里我们利用SSH,先复制长途库SSH链接
https://i-blog.csdnimg.cn/blog_migrate/9301fefb0877e924e56bd8c5cead9473.png
再自定义长途链接
https://i-blog.csdnimg.cn/blog_migrate/7f76d2f1680b8e8831a7b66fc1147acb.png
https://i-blog.csdnimg.cn/blog_migrate/bf784c8ddf71649c6075a6e0e4d3a98d.png
https://i-blog.csdnimg.cn/blog_migrate/c1dca67a0b79469418ef027f273e7e12.png
   留意:push 是将本地库代码推送到长途库,假如本地库代码跟长途库代码版本不同等, push 的操纵是会被拒绝的。也就是说,要想 push 乐成,肯定会先查抄下长途库跟本地 代码的区别!假如本地的代码版本已经落伍,切记要先 pull 拉取一下长途库的代码,将本地 代码更新到最新以后,然后再修改,提交,推送!
4)pull 拉取长途库到本地库

若修改了长途库的代码,即长途库的代码版本比本地库的更新,本地库需pull拉取长途库的代码
https://i-blog.csdnimg.cn/blog_migrate/8b0ca37b73cb353be4abd999e3baf894.pnghttps://i-blog.csdnimg.cn/blog_migrate/606da7de9b0bffb475a99fa47b25be6e.png
   留意:pull 是拉取远端仓库代码到本地,假如长途库代码和本地库代码不同等,会自动 归并,假如自动归并失败,还会涉及到手动解决冲突的问题。
5)clone 克隆长途库到本地

https://i-blog.csdnimg.cn/blog_migrate/1cf585d2669b051d36a155adc2d668f1.png
https://i-blog.csdnimg.cn/blog_migrate/2f6e4dee11f560bc21801a7e20e6c234.png
2.Gitee码云(国内代码托管中心)

1)IDEA 安装码云插件

云服务器在国内,用 HTTPS 链接即可,没必要用 SSH 免密链接。
https://i-blog.csdnimg.cn/blog_migrate/6bdbfd604c1abcec2c3c850ecd7fbc5a.png
https://i-blog.csdnimg.cn/blog_migrate/edef97073b98abcffe34a7062d5cb2f5.png
https://i-blog.csdnimg.cn/blog_migrate/b815544dccdfdf5ee08525a717a880a8.png
2)IDEA 毗连码云
   Idea 毗连码云和毗连 GitHub 险些一样,起首在 Idea 里面创建一个工程,初始化 git 工 程,然后将代码添加到暂存区,提交到本地库,这些步骤上面已经讲过,此处不再赘述。
将本地代码 push 到码云长途库
https://i-blog.csdnimg.cn/blog_migrate/65dbbe2d6ce992b010fcacf689b539db.png
2)码云复制 GitHub 项目

   码云提供了直接复制 GitHub 项目标功能,方便我们做项目标迁移和下载。
https://i-blog.csdnimg.cn/blog_migrate/5c4580125f349f46a4b523c53e4166c4.png
https://i-blog.csdnimg.cn/blog_migrate/a8adcb17cc9b884f3a59dd159107b777.png
假如 GitHub 项目更新了以后,在码云项目端可以手动重新同步,举行更新 
https://i-blog.csdnimg.cn/blog_migrate/351e21aed1c63b059e05204238db9f90.png
六、GitLab-自建代码托管平台

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


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Git、Github、Gitee、GitLab学习,团队帮助/版本控制