git/GitHub/gitee/gitlab

目录

 

0.概述

1.git概述

1.1 版本控制

1.2版本控制工具(两类)

1.3 git历史

1.4 工作机制

1.5 代码托管中心(远程库)

2.git安装

3. git常用命令

3.1 设置用户签名

3.2 初始化本地库

3.3 查看本地库状态

3.4 添加暂存区

3.5提交到本地库

3.6 修改文件

3.7 历史版本

4. git分支

4.1 概述

4.2 查看&创建&切换分支

4.3 合并分支(正常合并)

4.4 合并分支(冲突合并)

5. git团队协作机制

5.1 团队内协作

5.2 跨团队协作

6. GitHub操作

6.1 创建远程仓库

6.2 远程仓库操作

6.2.1 创建远程库别名

6.2.2 推送本地库到远程库

6.2.3 拉取远程库到本地库

6.2.4 克隆远程库到本地库

6.2.5 团队内协作

6.2.6 跨团队协作

6.2.7 ssh免密登录

6.3 IDEA集成git(重点)

6.3.1 环境准备

6.3.2 初始化,添加,提交

6.3.3 切换版本

6.3.4 创建分支以及切换分支

6.3.5 合并分支(无冲突)

6.3.6 合并分支(有冲突)

6.4 IDEA集成github(重点)

6.4.1 设置github账号

6.4.2 分享工程到github

6.4.3 推送本地库到远程库

6.4.4 拉取远程库到本地库

6.4.5 克隆远程库到本地

7. Git_码云(重点)

7.1基本使用

7.2 IDEA集成Gitee

7.3 导入github项目

8 gitlab 

8.1 简介与安装环境准备

8.2 安装&初始化服务&启动服务

​编辑

 

8.3 登录gitlab并创建远程库

8.4 IDEA集成gitlab

9.完结


 

0.概述

学习目标

95178751f43f4cd9b1657b48e093033d.png

PS:GitHub就是一个远程仓库存储公司代码。由于服务器在国外,速度慢。

gitee是一个类似于GitHub的国内代码托管平台。由于服务器在国内,速度快。

gitlab是一个局域网的代码托管服务。其目的是公司代码是私有的不开源的,不想放在互联网上的需求。

注:git,maven是实习生的两大杀手。开发,前端都会用到,因此一定要学好。

电子资料:目录

ac5d0c300ce54afc909032b30730cb86.png

1.git概述

4b86e9bdaeb94895bea0a6dec77a89d0.png

 PS:git的官方图标就是一个分支。说明它的分支功能强大。

git应用广泛,许多公司都在用。

5643732cd238443bb3298118af3b5ebe.png

6d1a89c547744ccdaeb2b7c52e9fac09.png

官网会明确显示最新版本,点击下载后会自己识别系统的位数。

1.1 版本控制

含义:

1ea4c99063564d578a7a7fe270edad46.png

为什么需要版本控制:

从个人开发过渡到团队协作

7d6fb9cfc0524289bec0aa69d4358bdd.png

这种并发的开发项目并完善很明显需要这样的git的功能。

1.2版本控制工具(两类)

630fc0f6097848818cf354a664a5485d.png

14256ff4c6d447bc9e358455296c0d66.png 9129ba4296f14984baf4d00b56cbc801.png

 d5f023114ecf47e09719d2dc0e7832db.png

852bb4dc473b4cb19c6c92332a221a1a.png

 

PS:分布式每台电脑就是一个代码库。集中式的致命缺陷就是服务器单点故障问题。

分布式的结构都有一个远程库,为了同步数据统一,本地库会将修改的内容上传到远程库中。分布式就是数据源分布在好多服务器,它们相互配合就可以工作。就算有一个服务器宕机,其他服务器也可以接管它的工作。

我觉得重点在于:SVN在本地只保留一个版本,服务器要是永久损坏,那以往版本就是不可修复的,而分布式的是将整个库放在了所有节点上(包括自己的电脑),服务器挂了,找另一个服务器推送上去就可以恢复版本。

1.3 git历史

dac6023a0a38454a861335a33f26d3b4.png

PS:git和Linux拥有同一个“爸爸”。~~

git的历史曲折而有趣,划时代的就是2005年。git开发原因bitmover公司不允许破解软件的要求被Linux社区的一个程序员破解。这种托管软件,极大的减轻了手动合并代码的负担。膜拜林大神。~~

1.4 工作机制

d9be415e675646df8753d328da7575f6.png

工作区,是代码存放的计算机磁盘位置,即代码目录。

PS:在暂存区和工作区代码可以删除,一旦提交到本地库,形成历史版本。代码无法删除。

因为git版本是基于上一个版本的。例如版本1,添加了不好的代码。只能在基于版本1的基础上修改形成版本2,尽管版本2删掉了版本1不好的话,但如果回退到历史版本1,还能看到那个不好的话。

1.5 代码托管中心(远程库)

d20874d3b1c54e46b83f341b82bab280.png

2.git安装

一般next就行。

PS:说明一些注意

5f72a31394474157b866941a8cd8e6df.png

 默认主分支master,当然自定义的话就是main。662df9e2c81e454ca2072fe552969358.png

28383c7a69574813be015f5987e675c6.png

a0a4d62d29174d338c3210960a73f74a.png

这个作用是方便代码pull  push。登录一次后就不需要再登。new表示是新版本的特性。

ace802a835064e5291d88caf0104dadc.png

PS:git bash命令行

git gui图形化界面

3. git常用命令

7f632152a60c4f03b8cdd176dd4c21a4.png

3.1 设置用户签名

不设置签名提交代码会报错。

e94efbbe7d83480cacf5d0ecb8b92fb8.png

这里注意,最好用自己创建github的邮箱,不然提交的时候没有小绿点!!!!!!!!

4be9e4956c514f84a8d646e25942f7d2.png

查看用户签名信息。

3.2 初始化本地库

3b35898cc07740ba8787b86e6fab0298.png

PS:git bash的命令和Linux命令是通用的。

3.3 查看本地库状态

git status

3f2716fbf15b4f2ba27bc1eb6f737357.png

ce6e71bfed0c4d1ab631d983c7da2bab.png

91097a6688d0496691fd6d42c518b68f.png PS:初始化本地库后,会在目录下生成一个.git的隐藏文件夹。

3.4 添加暂存区

705449fa20a240d098774869aae9c1ca.png

自动换行符发生变化。

907ca01d660442479128995133d090c5.png

PS:暂存区可以删除不想保存为历史版本的文件。暂存区在.git目录里

ba61d22e8cee474e91c5e3eef3c8ffcd.png

3.5提交到本地库

2ef061af63ec4bf387da1de5291fa976.png

a710c9c880604bd48c16c34f466d06e1.png

主分支:第一次提交  画红线的就是本次提交的版本号。

一个文件改变,16行被插入。

1c60db0e4a55403bb2f01866f8350849.png

这是再查看库状态会发现没有了nocommit yet。

b120e82887aa4173a10fe4a1836577da.png

查看本地库版本信息。第一个命令显示简略版本号,第二个命令查看完整信息和完整版本号,还能查看,提交的用户是谁。

3.6 修改文件

PS:本地仓库存储位置位于.git的隐藏文件夹中

f2f90bee84604c45b62fdde08123f37f.png

文件被修改后变为红色,表示没有添加到暂存区。

d74656ea4235460aba89acf22180a4fe.png

 因为是在同一行修改文件,所以会出现新增一行,删除一行的提示。

8c74bf6352f0494daf9ed9b33ee8e277.png

 HEAD指针指向第二个版本,所以查看文件内容就是新的修改后的这个文件。

PS:git status:显示工作目录和暂存区的状态

3.7 历史版本

c9ded84e8fca44aeb35fcfdd7206ac9c.png

f72c8ffcf6e44f7091a3234e444b081a.png 发现指针指向第二个版本

1278ec6ff04941efb1b4d745f81aa696.png

查看当前指针指向的位置,在head文件中

ec20750562244e6eb98ffec8a6e30da7.png

查看当前版本号信息。

eeac486b02924d23aab827d662a6d5a8.png c9630158b49f46ad8c97f321ac30c55c.png

a1c30b60239340368bd72f5b1c246706.png

5d140fa2e2534a538283b7825a10f56e.png

PS:借助git很好的实现版本控制。不仅可以做到往前穿越,还做到往后穿越。底层借助内存指针实现。

331e532bbbda45ab9597e77a46013541.png

 70fb3b4391db4d23b522f84820ff5ce3.png

4. git分支

4.1 概述

公式服务器的运行模式

c6f3cbb7e31343bfbc65aeb58fab7d98.png

00c79bfc42ae472b976006b6545127f5.png

5bbae9a5f52148d18989ab6b7a8469ea.png

 分支更新的原理图。master运行。hotfix进行紧急维护。还有添加蓝色背景,游戏特性。改动较大的就直接升级一个大版本。

1e64a5f9c5974bfc918acb30950f804c.png

分支具有好处。

4.2 查看&创建&切换分支

19bbf3119e7d4d438f72c4dbd3db2757.png

ac833baebfe047cb92c57dd0f7c9f754.png

 c4c60be8949a47faab785e4944062486.png

750ea40739954dc0ba691ee5840cb8a2.png3855f7b8e3b0468688b1576f205ae49e.png 

e89bc1374bf840088c684df840f13854.png

f9d8215e8afe4d2ba574c55b6585a033.png

4.3 合并分支(正常合并)

12c063a4d4004eb5b9d3212135fa69a4.png

 切换到master分支,执行合并命令,将hot分支合并到master分支。发现hot分支修改的内容成功应用到了master分支。

38be3d0249ab4bab8fad80b2ab82d80f.png

 

4.4 合并分支(冲突合并)

c4551498195341bca9f1af540eece85d.png

冲突实验展示

首先在master分支上修改,在文件倒数第二行新增内容

7ec55773f5904d36b40c278dbae86161.png

a3399f423d704ab48977b18e836bb4a0.png

第二步,在hot分支上进行修改同一个文件

f28d936c8cc04323bd129628e51fe33c.png

a156164ff310471b81a6d83e9d61e829.png

此时,切换到master分支。

f6d0d5b0c7d641408328cea545ad73b1.png

这种情况是在俩个分支都对同一个文件进行了修改,此时git不知道帮助我们保存哪个修改。那么报出合并冲突。那么解决办法是人为手动合并分支。

9d04ecffc30245cf8c4eb6d85d6dd9d4.png

6769c58606794822835ccf648d70f529.png

PS:冲突文件详细说明

HEAD与===之间的是当前master分支修改的内容。===与大于号之间的代码是hot分支修改的内容。

修改成功后,此时合并有几个细节参考下图

d29becf88dde4d4a85c6d3f03f988b1d.png

cd6ec6bb289a4f5fa8b0a3a15bb8be1d.png

3a95e25b1dff429cabb67fd6358c3d74.png

我们发现冲突的hot内容合并到了master分支,但是,hot分支的文件内容并没有实现合并。

08b47ace12dd4f3e8a8deb0419f61716.png

合并分支的底层也是一个指针实现。git底层玩的就是指针,一个head指针,指向具体分支,绝对当前在哪个分支;另一个指针就是master(或者是其他分支)指针,指向具体版本号。

16c97723f2e941e8b424fb7b1092d390.png

 master分支有四个版本

4c5d1f66f5534ce79506d900c53a0fb4.png

此时多出来一个分支对master第三个分支进行修改。

7f0d7017c030450eb2516e5cd3c5f922.png

 对分支进行了修改。hotfix指针指向hotfix

242c75fa2860459b8ba063df324e26fe.png

head指针指向hotfix,是分支的切换,不是合并,合并是master指针指向hot-fix版本,演示的head头指针指向的是hot-fix分支指针,这个叫做切换分支。head:表示git当前正在使用的分支。

5. git团队协作机制

团队协作这时候就需要一个代码托管中心GitHub。

5.1 团队内协作

9175a9f0aff14a81bf6258dc92c9fe0b.png

5.2 跨团队协作

83b2b03f7fdb4a34b659254210dc40eb.png

这里涉及到两个或多个团队,他们这些团队有自己的远程库。

我们发现git的版本控制都是在本地库中进行,这就再次印证了git的分布式这一特点。

6. GitHub操作

505c71ace9f2418da796e97569e8a3d5.png

6.1 创建远程仓库

创建远程库的名字最好和本地库的名字相同,方便识别。远程库可能与其他的远程库的名字重复,但是没有关系,它是基于用户的名字的。owner的名字不同,是区分库的重要标识。

GitHub私有库是收费的,有人数限制,超过限制还要支取一定的费用,因此,如果企业需要,建议搭建gitlab。

2443bfefafd84227addeb5bd54ffeb78.png

6.2 远程仓库操作

0ce45e925c5848249999033809d2783b.png

6.2.1 创建远程库别名

bd7ffd77d54644cebdd3d970d39595d5.png 远程库名链接太长,记不住,所以要创建别名。这样我们之后push pull代码的时候就很方便了。

58da5692f4d1417d98473c22dee05b6e.png

如图,创建一个与本地库同名的git-demo别名。

6.2.2 推送本地库到远程库

897ec83ac4404285a8415df29fa5a567.png

PS:如果没有起别名,可以换成链接。

122685df92b94ece82683db483b0dfbb.png

会提示我们输入账号密码。

c0f149f531f54e49a37605882beb7eb7.png

显示推送成功后,还可以在网站上直接编辑代码,如果你的实力够强,完全可以实现远程库中在线编辑文件。编辑的标志是一个笔标志。

6.2.3 拉取远程库到本地库

如果修改了远程库的内容,这是本地库不与远程库保持同步,那么怎样才能保持本地库与远程库的同步呢?

这是拉取就起到了作用。

bfc94020ca31473aa85eb6df901b0e51.png

e9aa90ad0f704afe8f16cfeb449d1cfe.png 拉取会自动帮你提交本地库。

6.2.4 克隆远程库到本地库

需求是让一个用户看到公司远程库。这就需要建一个新的本地库,并把远程库克隆到新用户的本地库。

PS:克隆是本地没有时用的,拉取是本地已经有了的时候用的。克隆公共远程库是不需要登录账号的。

27832f16f75643b192e7f117384f64ab.png

ff46a2ceb9e849d7b77a36d1dd4f3fdd.pngdb2f4cbe797b4565917bcba75eebb59e.png

克隆代码会帮助自动完成3件事。

PS:上图自动为远程库取了别名origin。

6.2.5 团队内协作

PS:重要,必须掌握基本的步骤

先来一个错误的演示,再说明为什么,最后成功实现推送。

这里假设有a和b俩个用户。b用户没有在团队内,需要A邀请B才能让b用户的代码push到公司远程库。

首先,从b用户开始。b用户对代码进行了修改

a81842be5210492489359f81b012ebdc.png

 下图是修改的内容,添加了一行222

16589b1dffac44d0bff6ee477abcb842.png

此时b打算将本地库push到a远程库。

2d5c1442fddc4c47bd100f129358d0e0.png

748e28fee7894680b266086334218b1b.png56052eb5a0254387b8ad94524102edeb.png

 此时会出现b用户的信息添加到凭证管理器中。

307c21bc59ee4896bec93607fbee4d39.png

但是呢?push出错了?

PS:因为a公司还没有邀请b到团队内,GitHub平台不知道b在不在a团队中。b是不能将自己修改的代码提交远程库的。下面正式开始。

dcf8246ea88246638bcf94b5d46b5985.png

5570c3e8fd9d44e18701f12799d5d5a5.png

0f7b8a7da632466d9b1212daa4e957da.png

5be92e0db04b4523928e372878de2586.png

f8ab6dd4baea482baa373917968bcb01.png 此时可以复制邀请函,他的本质也是一个链接

dc46f649d477401a8bfd1ccea4e3360e.png  e5f2531708604582ac3723a83e0e5b5d.png

 PS:这个链接就是公司发给你的邀请加入公司库的代码。

 3f83207d5c3f487eb8c49b45d7b5747e.png

 点击接受

872f3e4de3534c79b2111ef690561220.png

 如图所示,成功加入。

这时候b用户就能正确提交了自己的代码到公司远程库了。

df36662dce484e2aa1af31083764630e.png

接着a就能拉取代码更新自己的本地库了。

e6754d120f154d13851f65270a5f89da.png

注意这是a要拉取代码是由于之前在同一台计算机上登录了b的凭证,这是还要先删除b的凭证。换成a的凭证才可以让a用户拉取远程库。

98a49fb877cf4762afd17929235e4feb.png

40b0af4cfff144ce9974eff2e6bab4d4.png

60e927e522f44caaa5cc0d4f33201ac3.png

这是a用户把b修改提交过的远程库拉取到自己的本地库,也可以看到b修改的代码,最后一行2222了。

6.2.6 跨团队协作

5e976fbc42cd486f9e98d680d713522f.png

这时另一个团队想要合作a和b所在的远程库,需要跨团队协作。

PS:可以直接搜索项目,搜库名可能很多,但加上用户名就只有唯一一个。

b86ae1dd96144947916722a62c0d0814.png

首先b公司,需要fork叉一下到自己的远程库。

d05ba8cccddd4b74a1ec08a3b6f2b2e9.png

可以明显看到库从哪里fork的。

fcc6a6e213be47b287863b2e2e6792cc.png

526b792d977542d1839e7ac501c29ead.png96a999109d18406190d24ddfa0862832.png 

 0e00248d08104e4db4e8a43a9043cf3d.png

78643b7502e44f479830f2f6af703a99.png

a6ba8ce6d900441cb655776a8909d980.png

2e38cd5553014267942f5545b4d4b9b7.png

96214ad303d047d6b2e9154fcfa3876a.pngad397e0f096f4748aa4d28b6ae713367.png

9b61279aaec24786bd3985f98f7660e0.png A公司最后合并了b公司所修改的内容。

6.2.7 ssh免密登录

2183568553be4ad9b029bf5177a30ef3.png

首先要想实现免密码登录,需要添加本地用户的ssh公钥到GitHub进行。

如何生成公钥

03f918cb3fab4271aa9c7d5faca7c94e.png

 这个账户就可以实现ssh免密登录了。

66a53fd0a5474d62ab87df7e3700cd9e.png

输入命令后,连续敲3次回车。即可生成ssh公钥。

691e83a03080484e8cbf1b60e1a69df0.png

 94c449e34cf241a18acc5f9613900c9b.png

25560bb2195241edb44c1fa97094614b.png

添加ssh公钥到GitHub

6087dabf870c49a6b784422192e86a87.png

7b032c5cb0d447d796f1cb702aa353c2.png

 测试ssh免密登录bb600c9c81284b18a5775eeee3aa6dfd.png

9b724a61c3974fbc8580dd48a26e742a.png

发现pull远程库时不需要再进行登录了。

5f6bf22059d6487f92333ac38ba08575.png

 查看本地库内容与远程库内容一致。

接下来在本地库进行修改,提交。

c34f72fe6b254aa58061eeddfe293583.png

 cb3cc482b2964d26b3da7184dd4d98f7.png

 发现提交代码也不用登录就可以了。

6.3 IDEA集成git(重点)

6.3.1 环境准备

PS:IDEA是IDE的一个具体工具,开发java具有较好的优势

之前我们都是在git命令行玩git,但是公式需要再IDEA中进行。

首先需要进行环境配置

afec4cee65f9428c98fb07b4c67ae5b5.png

7bf252266f8a447a85653776fa3cb8ce.png忽略的文件内容如下

a979b96b82014921ab5ad11e3e5e7253.png

 4ef4b4da95e04a7fb0ab06de96a50552.png

 接下来,打开开发工具。找到版本控制,路径是git的安装路径。选中git.exe。

c16183cbf7944b3dbbde7a548bb252e1.png

23cf5573627c47c6a51634824cc3b4b2.png

出现版本信息就表示配置成功。

6.3.2 初始化,添加,提交

右击项目,查看项目路径

875960ee614746ab85c047afa6b33a2f.png

 发现没有进行git版本控制。因为没有.git文件

72bc1d2da0e24bea8874afd479cbb1f1.png

查看本地项目是发现并没有.git文件,说明git没有对他进行版本控制。

a3ae70491f0c4ce39d37d62533c2ee30.png这时要添加版本控制git。VCS表示version control setting。

5293ba61c2f74622a7f036fbb0c0f7fd.png

edebdc5159b549bd8140b78afa7ff165.png

此时出现.git。表示对项目进行了初始化本地库。

90674a2f06894fa4b3b6a2f408542f8b.png

这是pom文件变红了,git中变红表示文件未被追踪。

d36b4c09235a4a0e99ec2e2d1cb7211d.png

进行add添加到缓存区,颜色变绿。

2494b0ba86f640dd9c3cb04946569a03.png

8209404052214a9692bfdb725ddcb0df.png

 文件的颜色不会影响代码的执行。这时创建了一个新文件,并编写了几行代码。

如果项目文件很多,提交可以直接右击项目,选git的commit

4208272d079c422dbb030ca38e912745.png

be141b3cddc14b10abd8972596e2b9bc.png

我们发现提交后所有的文件全都变为正常颜色。743641c6b3bd46c499d246f506f348c1.png

6.3.3 切换版本

修改文件内容后,进入提交界面

PS:修改后的但以前被追踪过的文件显示为蓝色

cf680f88879540aca0e74c4676c362d1.png

f095c2811cbc45f89eead659aa7e5090.png

f5a4cb1eea7a44df834ea1d02587e416.png

 可以清楚的看到哪些内容被修改了

如何查看所以版本信息呢?

81ef365a08f04bc6abd429386c7e4208.png

3969dc237c0d41028d7edd9b4c6ce55a.png

还可以看到指针指向的位置

88412e0f6e5349199f0f00d1dda9829a.png

切换版本点击checkout即可

发现代码文件也会发生变化,这样就实现了版本控制。

6.3.4 创建分支以及切换分支

b5d031f03c174d7a87cd23b9060f8053.png

8898022015a8420eb06c527f4e34a05c.png 创建分支的同时切换分支。

a673af212fb5426d83bed834a49af268.png

 02f266578f9e4c2bb7a64ebed16d7634.png

70c402c6c86f444fb6ba013a726ff56a.png

idea右下角的位置,点击分支就能看到,分支信息。

6.3.5 合并分支(无冲突)

347bcd535216427bb2c740919b742690.png

首先建立hotfix分支,修改文件内容

f4a1b835db484b1ca5f9dfcbf7eb589a.png

 86e4ad3685d84e5c9f63e870881bec22.png

提交修改的代码

bff7f79594d24c5faaa241b902bbe5ac.png

但是发现master分支文件内容没有实现修改

d80da4c1920f41208da68b856c3726fb.png

这时切换到master分支,点击hot分支,选择合并,即可。

27caf41b213d4a0ca6efa010590b9c80.png

这样在master分支文件代码就实现了修改。

6.3.6 合并分支(有冲突)

发生情况就是俩个分支同时进行修改,提交后,进行合并就会发生冲突。

e37ff1750725459fa729d1302aba4363.png

首先切换至hot-fix分支。修改代码。

b6b90aadddc943b59e8be11f8cf9db4f.png

 64f705a111814e8486db73ce78589cb9.png

切换到master分支,也进行代码修改。然后提交。

f272d5688e764b5084b85f33a0a1d0f7.png

4e9283de485b44b68a721c02919eea74.png 4182ba319f7943b6830c849ba9a0c8d1.png

 可以明确看到俩个分支都进行了修改。b4c3c005cddf408e891749b0e1cc1bb7.png

在master分支上进行hotfix代码合并 。

1ab5d71cc13c4ce780b4894d65155b5e.png

弹出冲突框。

aefb3426cff445d19a207f4ed56efeed.png

此时手动点击merge,出现下图信息

ffee0975c33640f7aef3a2997d80f0c9.png

PS:左边是master分支代码内容,中间原始的,右边的是hotfix的。

合并点击图中>>,叉号代表删除。发现合并冲突代码非常简单。

051d64e9cf6b474cba9df2d50ac09b99.png

显示所有的冲突已经完成,上面是最终的代码。

查看日志信息发现合并了俩个版本。 

88a551ff6856496d8780ac5b8a003812.png

6.4 IDEA集成github(重点)

6.4.1 设置github账号

检查是否集成github。setting选择VC,。

b1fbac48a2544260bec64571ac4ef534.png

如果没有的话下载一个插件即可。 

26804baedd6d4bd5adb0fd62e5642c94.png 615e7da18e664ebba9ad220bd54f2b7b.png

账号密码很难登录,有一种另外的方法,使用口令。

fb48258c89aa44dfa2510720b5e0eaa6.png

bbb99af7c2e349549fe999f1170056b8.png

此时需要先创建一个口令,

a26b6f7ee7944fffae34c9db42411092.png

6ac89c75595d48c299a041ca0bd9af07.png

ab7313a84e8f4f5b97921bfeb9cc1434.png

73f0435c5e754860a29c05a7c5280531.png

给口令起个名字, 然后把下面的全打对勾,这些都是权限的意思。

生成口令

b2ec2941f1a3420eb3cc4098a3474753.png

复制口令将他粘贴到一个位置,因为一旦刷新口令就消失了。消失后还需在创建一个新口令。

f5f20050e6b742adb91bd73cb3de3f02.png

 

6.4.2 分享工程到github

854c31cc8f9e41599c354cdc420adc7c.png

github插件已经能够非常方便的实现我们代码的提交。一般远程库与本地库的名字一致即可。

783175559f594a08a3fbfd3d8a614261.png

PS:库名,第二个是别名 。

39e7107c430d4d01b998eef3462b703d.png

发现成功分享到了远程库。

分享操作实现了创建远程库,并且还push了代码。 

6.4.3 推送本地库到远程库

6b2feaaee70343ea94be13731bc2fc9a.png

200a0ca4f49246229a7e8c047e418923.png

73f0247b5a734a468edd8d8333f93a03.png

gittest是别名 。提交默认是HTTPs,这种很容易因为网络问题而失败,所以更推荐ssh哪个链接。

那如何使用ssh进行代码push呢?

8103fe92536845cbb835f2b4f7bbacb2.png

05072ee2f809431e9700f0b3fcf73c36.png

之后出现一个对话框,输入别名,和复制的ssh远程链接。

 44f78746e3234d97a2ab1a1eb0a8bafc.png

 选择ssh这一项ab32ded7c31346ca904d1775b4875ff4.png

 2033f8e3164244658c4b7e39cb20d4d0.png

查看远程库,发现提交成功

97a5555e90174b15b21c08d58f7b8333.png a5ef9bf66aae4d278a25fe4be39a40b3.png

6.4.4 拉取远程库到本地库

74e04923282c48a48a468c5924f98252.png

在远程库修改一下代码,提交修改。

b9ba08298d664fd4959440a4b2dbc4a8.png

PS:这里一定要注意,先pull最新的远程库,然后在修改最新的本地库,之后再提交代码。

因为本地库版本低于远程库版本,是不能实现提交的。

0c8a99a66486406cb9cb0aa0d96c9a50.png

拉取远程库时尽量别改本地库,有时候会出现冲突。

cb4b7b5239d641499578f18b3402c74d.png

 a7ada7ec5dc548b5bf1b6954237f10ea.png

选择拉取链接方式。还要勾选一下master分支。 

556881b2559542febe4e558ce3c3aaf9.png

代码成功拉取到了本地。 

6.4.5 克隆远程库到本地

当本地没有这个代码库时,我们可以克隆远程库的到本地。

6aa7665829884976a30ab4f3c0e81ab3.png

 fac5269a9d1143d1bc0cfe1e302d9791.png

可以从Git与SVN上克隆。

输入远程库的链接,选择本地库所在目录

d88083755ee7401e9bf095496edb0be6.png

ee39ed15950b4887818f1c721cadc100.png 

发现远程库已经到达了本地库。

4eb5875c1ec24c499749facd40d49cc4.png  

7. Git_码云(重点)

7.1基本使用

82cab543591e42c2b63a1a56493faf90.png

01e28e97cbe648babe3ebe9cd90dac88.png 

0fa0f66ccb7d42979313d8a33a83dda8.png 

075ed6d68c5a4f129c215fa140e6807a.png 

上图就是码云的基本页面显示。         

99b48c7f439a4270acba4f8148241888.png

e5f2ed5827a74fe589a0729208fcaea5.png 

db572cf0b4254e0bb7227f4f66b5e0f6.png 

由于码云的服务器在国内,所以直接使用HTTP就OK的。 

7.2 IDEA集成Gitee

f94b72f9546346829a2ecab03c8ae943.png

8b8f8c2980d144b2b77e54a44a3984d2.png 登录自己的码云账号

ccc4ba0c27f94a69b22c328f39eda71f.png

d6cd2c42483f41308382b6b842534a54.png

当然也可以自己先创建远程库,然后push本地库代码到远程库中。

6aacbdc346764440abb05e5dfa31e222.png 

自定义远程库与添加远程库链接

139aac6e28764d04884383969068b5ab.png

 修改代码后的提交工作

95fa9fd0b19f4a93864b0b3fef350511.png

本地库拉取远程库操作

c4795185c7b24bb6ae4b09df7786bd42.png 

 

7.3 导入github项目

8337a0d02adb462d9a72fd8288a746bb.png

24c5a7bb3e6c4be49efe7be133c52706.png 

在创建仓库的页面有一个导入功能。这个功能就是当由于网络等各种原因出问题时,无法访问公司在github上的远程库,Gitee提供了一个从github远程迁移仓库的功能。直接复制到码云中。

 02d3d8d385d8441994f585d84fe16eb9.png

 55d2f085ec184b95a532b7a1e4a1811f.png

a925ed62675e477094885cfcc401a60d.png 

github上的代码就到码云上了。

Gitee提供了一个更新同步github远程库的功能

如下图修改github远程库的代码 

21d552014f574b1fba5549e034baa0c8.png 

d2ebba09b28941af962e0d1331fd492f.png

 点击更新同步,发现Gitee与远程github的代码一致了。

0484d1fb299a4222acfcfa85fdfb542b.png

8 gitlab 

8.1 简介与安装环境准备

自建代码托管平台

4cd1644b538c41e880d811807ccf2bee.png

 d14e3867f6d7408bb70423716c83e5ec.png

348aacb44c224da188fc2fd66ea571f0.png 

可以看出要求服务器的配置还是较高的。

 

gitlab安装

07c02a12e8184c7d9af48455278e3acd.png 

 修改服务器的ip地址

3c05ae5460c1487c94dafeebbe50f866.png

修改主机名hostname

dfd16087617f4ddab94fe3a5d22b56b4.png

之后roboot重启服务器。

60b0f4b723954ce6964f8905575d8a48.png 

修改windowhost文件,保证能够访问到gitlab服务器 。

使用Xshell进行与服务器的链接

74ec06dd52494fd4982a12028185e1ec.png

由于配置了host文件,所以主机名可以不用ip地址,直接使用自定义好的主机名。

7a5dd2b8e69047ada9b34ff5bcbbffd9.png 

登录服务器的用户。 

查看服务器ip与主机名。 

eb69075a531941c098fef0d36de26782.png

eb5317c5976f4e4d85abc3db1b2a4bea.png

fe542483a5814eb1be18acb96e1aae74.png 

使用Xftp将文件发送到服务器。

d469b1beaeef418a9a8a5a2951d758ae.png 

安装环境就已经搭建好了。

8.2 安装&初始化服务&启动服务

安装十分繁琐,建议寻找网上gitlab安装脚本。 

c2d85f247f014a63b957b16d456119d9.png

 如下图就是脚本的内容

1d39be7e25b84bd3913ac4cdac3c3573.png

54416adb6cd64959adfa8ca2103d83a0.png

ffea562abe384b1a820fbe9811cc2255.png 

接下来进行初始化与启动服务

0738ee0a7b0e436badf56357a9089ab0.png 

 

8.3 登录gitlab并创建远程库

使用浏览器访问,可以使主机名也可以是ip地址 

b35110ee4aeb490aa48606fcea6caca5.png

7591849262324ccf8acda1cae0473066.png

gitlab初始时默认创建了root账号,初始页面需要设置root账户密码。 

8437754644bb49b39d03d2efc528f4c3.png

创建远程库

fd0c372509da497f94ed7d0757e58c4b.png 

创建远程库成功 

410dac4ecd0d45ac96fdd1bbd58b2b0d.png 

8.4 IDEA集成gitlab

安装gitlab插件

1dfa808e87ba47f5b5889570463487c1.png

检查是否安装成功,有gitlab。

e8ae42fa2ac34cd2a755807685917d3a.png 

 添加gitlab服务器(就是上一节创建好的Linuxgitlab服务器)

06a0ce35f9eb4d3b92f16466847fc7ae.png

显示已连接

1963d059b5e5472bafd1172132b92d92.png

远程库链接

d22ba75de3e9447380934340865823bc.png 

在IDEA中将本地库push到远程gitlab,选择自定义。

b3d83d29b19546f4bfe6d9547f97e7ef.png 

 7b085f32a21f4dbb8ced10f60350ee20.png

选择gitlab项,之后push

a048b2a5c2cf4cef8023860058baff8b.png 

查看gitlab服务器发现push成功

189e134743724d95a3c24bf9da42ace9.png

3629cafed8b84c8eb882e6268803fe0c.png 

 

9.完结

最后我们有了一个大致的概念与一些基本操作。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值