文章目录
1.Git
- 免费开源的分布式版本控制系统,可以高效除了从小型项目到大型项目的各种项目
- 优点:易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于Subversion(svn)、CVS、Perforce和ClearCase等版本控制工具
1.1版本控制
- 版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。
- 版本控制工具
- 集中式版本控制工具
- CVS、SVN(Subversion)、VSS……
- 集中化的版本控制系统诸如 CVS、SVN等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。
- 这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易。
- 事分两面,有好有坏。这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。

- 分布式版本控制控制

- 意思就是每个人在自己的本地库里做版本控制
- Git、Mercurial、Bazaar、Darcs……
- 像Git这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。
- 分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:
- 服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)
- 每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)
- 集中式版本控制工具
1.2Git简史

1.3Git工作机制

- 注意:
- 工作区:指代码存放的磁盘区,文件所在的目录
- 一旦变成历史版本,就不能修改了
1.4Git和代码托管中心
- 代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。
- 局域网
- GitLab
- 互联网
- GitHub(外网)
- Gitee码云(国内网站)
1.5Git安装
1.6常用命令

-
设置用户签名
- git config --global user.name 用户名
- git config --global user.email 邮箱
- eg:
- $ git config --global user.name ping
- $ git config --global user.email ping@qq.com
- 验证:在C盘用户,git显示的用户下找到.gitconfig
- 说明:
- 签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git首次安装必须设置一下用户签名,否则无法提交代码。
- 注意:这里设置用户签名和将来登录GitHub(或其他代码托管中心)的账号没有任何关系。
-
初始化本地库
- git init 初始化本地数据库
- ll 查看信息
- ll -a 查看隐藏信息
- cd .git/ 切换到git文件夹查看是否初始化本地库
- cd … 退出盘符
-
查看本地库状态
- git status
- 首次查看(没有文件)

- 新增文件

- yy 复制
- p 粘贴
- :wq 退出编辑状态
- cat 文件名 查看文件内容
- tail -n l 文件名 文件内容中的最后一行

-
添加文件到暂存区
- git add 文件名

- git rm --cached 文件名 只是把暂存区的文件删除了,工作区的依然存在

- git add 文件名
-
提交本地库
- git commit -m 版本信息 文件名
- a89585c]这个位置出现的内容为版本号
- git reflog 查看版本信息()前七位

- git log 查看完整版的信息

- git commit -m 版本信息 文件名
-
修改文件
- i 点击后进行修改

- 修改后文件变化,需要追踪重新保存

- git中按照行来维护 ,工作原理:将修改之前的删除,再添加上修改的内容
-
版本穿梭
- git reset --hard 版本号(前后穿梭都可以)


- 工作原理:根据指针指向不同的版本,从不同版本中的日志查询
- git reset --hard 版本号(前后穿梭都可以)
1.7 Git分支操作


- 好处

- 操作
-
创建分支 : git branch 分支名

-
查看分支 : git branch -v

-
切换分支 : git checkout 分支名

-
把指定的分支合并到当前分支上 : git merge 分支名

-
冲突合并

- eg:




-
-
-
- 两个分支都进行了修改所以手动修改
修改为:
- 两个分支都进行了修改所以手动修改
-

-
-
- 添加到暂存区

- 添加到暂存区
-
-
-
- 提交,不用加文件名

- 提交,不用加文件名
-
1.8 Git团队协作机制
- 团队内协作
- 前提是第一个本地库给出权限,可以操作远程库
- 跨团队协作

1.8 配置Git忽略文件




- (1). 创建忽略文件
- 格式: *.

- 方法:


- 复制

- 在.gitconfig配置

- 格式: *.
- (2). 定位Git程序
- 1.在IDEA中创建maven文件

- 2.

- 3.更换为git安装目录
- 4.点击test测试

- 5.

- git接管,pom文件变红,未加入暂存区
- 添加方法:
-
1.


- 变绿以后,说明未提交到本地库
-
- 2.


- 提交



- 添加方法:
- 1.在IDEA中创建maven文件
- (3) 切换版本


-
-
- 绿色是代表所在版本信息,黄色是指针,指到哪里说明在哪个版本上
- (4)创建分支
- 创建方法:
- 1.

- 2.

- 1.
- 切换

- 绿色是代表所在版本信息,黄色是指针,指到哪里说明在哪个版本上
-
- (5)合并分支


- (6) 冲突合并
- 分别对两个分支文件进行修改

- 合并
- 手动合并


- 手动合并
- 分别对两个分支文件进行修改
2.GitHub
2.1创建库

- 1.登录

- 2.点击 + ,new repository
- 3.创建远程库,远程库与本地库的名字一样
- 本地库(账号不同,就不会与别人的远程库名字相同)


- 远程库操作命令
- 创建



- 推送本地分支到远程仓库


- 拉取

- 克隆(不需要登录账号)



- 创建
- 本地库(账号不同,就不会与别人的远程库名字相同)
##2.2 团队内协作
- 
- 注意:要切换账号账号后登录




- 在链接里复制邀请函
- 


- 跨团队协作
或者





- SSH 免密登录

- 在C盘 -->用户–>账号下点击

输入后点击三次回车
复制公钥


成功
测试
拉取


2.2IDEA集成GitHub
-
1.

-
2.登录账号(使用token更加方便)

-
3.将项目传送到github远程库
或者
-
4.push推送本地库到远程库


-
- 方法一:
-
- 方法一:
-
- 方法二:
- 方法二:
-
5.pull拉取远程库到本地库

- 更新远程库
- 拉取


-
6.克隆远程库到本地

- 删除本地项目

- 点击
- 链接
- 复制链接

3.Gitee码云


- 删除


- 创建远程库
- 1.

- 1.
- IDEA集成码云

- 1.登录

- 2.
- 或者

- 或者
- pull/push/clone 大同小异
- 码云复制github项目

- 如果github项目更新,Gitee如何同步内容

4.GitLab

-
1.服务器准备

-
2.虚拟机




-
- root用户登录

- root用户登录
-
- 修改ip地址

- 修改主机名


- rebot重启
- 修改主机名
- 修改ip地址
-
5.配置


-
6.配置Xshell链接


-
7.连接


-
8.测试

-
9.安装包准备



-
10.使用脚本安装,复制以下内容



-
11.增加权限


-
12.初始化Gitlab服务


-
13.启动


-
14.使用浏览器访问Gitlab
- 1.

- 主机名访问

- 1.

改密码,root账号


- 创建远程库



- IDER集成GitLab
-
1.安装插件

-
2.复制地址

-
3.

-
4.
要更换为主机名在
-
5.

-
6.定义远程库链接


-






1389

被折叠的 条评论
为什么被折叠?



