1.git
1.git功能特性
1.克隆数据库版本:从服务器上克隆数据库本机上
2.提交代码:在本机上自己创建的分支上提交代码
3.合并分支:在本机上合并分支
4.拉取合并分支:新建一个分支,把服务器上最新的代码Fetch下来,然后跟自己的主分支合并
5.代码冲突解决:一般开发者之间解决冲突的方法,开发者之间使用pull命令解决冲突,解决完冲突之后再向主开发者提交补丁
1.安装git
[root@git ~]# yum -y install git
[root@git ~]# git #查看相关帮助
2.创建目录
[root@git ~]# mkdir /yy00
3.创建git仓库,文件并且提交文件
使用git指令,要cd到初始化到之后的目录,cd到/yy00目录中使用init指令
[root@git ~]# cd /yy00/
[root@git yy00]# ls
[root@git yy00]# git init
初始化空的 Git 版本库于 /yy00/.git/
[root@git yy00]# git config --global user.name yjj
[root@git yy00]# git config --global user.email 19119924727@163.com
[root@git yy00]# git commit -m "新建了一个Test.java文件,这是新建的"
[master(根提交) 9abf5f2] 新建了一个Test.java文件,这是新建的
1 file changed, 5 insertions(+)
create mode 100644 Test.java
[root@git yy00]# git log
commit 9abf5f2cd788aa96c161df3d57372546a18f1704
Author: yjj <19119924727@163.com>
Date: Thu Jul 25 10:47:31 2024 +0800
新建了一个Test.java文件,这是新建的
[root@git yy00]# echo "//这是一行java注释,不会被编译,能提交文件的可读性" > Test.java
[root@git yy00]# cat Test.java
//这是一行java注释,不会被编译,能提交文件的可读性
[root@git yy00]# git log
commit 9abf5f2cd788aa96c161df3d57372546a18f1704
Author: yjj <19119924727@163.com>
Date: Thu Jul 25 10:47:31 2024 +0800
新建了一个Test.java文件,这是新建的
[root@git yy00]# git add .
[root@git yy00]# git commit -m "这是第二次提交项目"
[master be20d96] 这是第二次提交项目
1 file changed, 1 insertion(+), 5 deletions(-)
[root@git yy00]# git log
commit be20d96b1244c8c7821dbab3d4f4961528733c10
Author: yjj <19119924727@163.com>
Date: Thu Jul 25 10:50:17 2024 +0800
这是第二次提交项目
commit 9abf5f2cd788aa96c161df3d57372546a18f1704
Author: yjj <19119924727@163.com>
Date: Thu Jul 25 10:47:31 2024 +0800
新建了一个Test.java文件,这是新建的
[root@git yy00]# echo "//这是一行java注释,不会被编译,能提交文件的可读性" > Test.java
[root@git yy00]# cat Test.java
//这是一行java注释,不会被编译,能提交文件的可读性
[root@git yy00]# git log
commit 9abf5f2cd788aa96c161df3d57372546a18f1704
Author: yjj <19119924727@163.com>
Date: Thu Jul 25 10:47:31 2024 +0800
新建了一个Test.java文件,这是新建的
[root@git yy00]# git add .
[root@git yy00]# git commit -m "这是第二次提交项目"
[master be20d96] 这是第二次提交项目
1 file changed, 1 insertion(+), 5 deletions(-)
[root@git yy00]# git log
commit be20d96b1244c8c7821dbab3d4f4961528733c10
Author: yjj <19119924727@163.com>
Date: Thu Jul 25 10:50:17 2024 +0800
这是第二次提交项目
commit 9abf5f2cd788aa96c161df3d57372546a18f1704
Author: yjj <19119924727@163.com>
Date: Thu Jul 25 10:47:31 2024 +0800
新建了一个Test.java文件,这是新建的
[root@git yy00]# echo "//又添加了一行注释" >> Test.java
[root@git yy00]# cat Test.java
//这是一行java注释,不会被编译,能提交文件的可读性
//又添加了一行注释
[root@git yy00]# git add .
[root@git yy00]# git commit -m "将缓存中的内容提交到仓库"
[master 8a2fcc4] 将缓存中的内容提交到仓库
1 file changed, 1 insertion(+)
[root@git yy00]# git log
commit 8a2fcc42411789aa6c2748de055ca80232227d1d
Author: yjj <19119924727@163.com>
Date: Thu Jul 25 11:11:14 2024 +0800
将缓存中的内容提交到仓库
commit be20d96b1244c8c7821dbab3d4f4961528733c10
Author: yjj <19119924727@163.com>
Date: Thu Jul 25 10:50:17 2024 +0800
这是第二次提交项目
commit 9abf5f2cd788aa96c161df3d57372546a18f1704
Author: yjj <19119924727@163.com>
Date: Thu Jul 25 10:47:31 2024 +0800
新建了一个Test.java文件,这是新建的
2.gitlab及分支管理
1.查看当前仓库的分支
[root@git yy00]# git branch
* master #当前只有一个master分支,为主分支,当工作完成后,其他分支会合并到主分支
一个文件在同一时间只能被一个用户编辑
2.创建分支过程
[root@git yy00]# git branch abranch
[root@git yy00]# git branch
abranch
* master #主分支
分支中添加文件
[root@git yy00]# git checkout abranch
切换到分支 'abranch'
[root@git yy00]# git branch
* abranch
master
[root@git yy00]# ls
Test.java
[root@git yy00]# cat Test.java
//这是一行java注释,不会被编译,能提交文件的可读性
//又添加了一行注释
//又又添加了一行注释
//又添加了一行在fafsadsfafsda注释
[root@git yy00]# echo "//我是袁佳佳" >> Test.java
[root@git yy00]# cat Test.java
//这是一行java注释,不会被编译,能提交文件的可读性
//又添加了一行注释
//又又添加了一行注释
//又添加了一行在fafsadsfafsda注释
//我是袁佳佳
主分支中没有分支添加的文件
[root@git yy00]# git add .
[root@git yy00]# git commit -m "袁佳佳提交的内容" #创建一个新的提交,并将提交信息设置为“袁佳佳提交的内容”
[abranch 3e428a1] 袁佳佳提交的内容
1 file changed, 1 insertion(+)
[root@git yy00]# git checkout master
切换到分支 'master'
[root@git yy00]# git branch
abranch
* master
[root@git yy00]# cat Test.java
//这是一行java注释,不会被编译,能提交文件的可读性
//又添加了一行注释
//又又添加了一行注释
//又添加了一行在fafsadsfafsda注释
创建新分支
[root@git yy00]# git checkout -b bbranch
切换到一个新分支 'bbranch'
[root@git yy00]# git branch
abranch
* bbranch
master
[root@git yy00]# cat Test.java
//这是一行java注释,不会被编译,能提交文件的可读性
//又添加了一行注释
//又又添加了一行注释
//又添加了一行在fafsadsfafsda注释
//我是袁佳佳
新分支中添加的新文件,旧分支中也有
[root@git yy00]# git branch
abranch
* bbranch
master
[root@git yy00]# echo "我是yjj" >> Test.java
[root@git yy00]# git checkout abranch
M Test.java
切换到分支 'abranch'
[root@git yy00]# cat Test.java
//这是一行java注释,不会被编译,能提交文件的可读性
//又添加了一行注释
//又又添加了一行注释
//又添加了一行在fafsadsfafsda注释
//我是袁佳佳
我是yjj
git branch 分支名称 git checkout -b 分支名称 在分支的同时创建分支
[root@git yy00]# git checkout -b bbranch
创建分支 : git branch 分支名称
[root@git yy00]# git branch cbranch
跳转分支 : git checkout 分支名称
[root@git yy00]# git checkout cbranch
所有的git操作都应该在工作区域,在指定的init目录之下记性
git add . 提交到缓存分区
合并分支
[root@git yy00]# git merge cbranch
删除分支
[root@git yy00]# git branch -d cbranch
提交查看日志
[root@git yy00]# git log
[root@git yy00]# echo "//主分支,修改了文件0" > Test.java
[root@git yy00]# git checkout -b newbranch
M Test.java
切换到一个新分支 'newbranch'
[root@git yy00]# git branch
master
* newbranch
3.部署 Gitlab 服务器
1.安装软件
[root@yjj ~]# yum -y install git
2.ssh免密连接192.168.1.10
[root@yjj ~]# ssh-keygen #三个回车
[root@yjj ~]# ssh-copy-id root@192.168.1.10
3.克隆192.168.1.10上的资料
[root@yjj ~]# git clone 192.168.1.10:/yy00/.git/
正克隆到 'yy00'...
remote: Counting objects: 31, done.
remote: Compressing objects: 100% (21/21), done.
remote: Total 31 (delta 5), reused 0 (delta 0)
接收对象中: 100% (31/31), done.
处理 delta 中: 100% (5/5), done.
[root@yjj ~]# ls
anaconda-ks.cfg yy00
[root@yjj ~]# cd yy00/
[root@yjj yy00]# ls
efg est.java Test.java
4.修改内容,设置自己的姓名和邮箱
[root@yjj yy00]# git config --global user.name aaa
[root@yjj yy00]# git config --global user.email aaa@163.com
[root@yjj ~]# git clone https://gitee.com/yuan-jiajia-1/yuanjiajia.git
正克隆到 'yuanjiajia'...
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (4/4), done.
[root@yjj ~]# git clone https://gitee.com/yuan-jiajia-1/yuanjiajia.git
fatal: 目标路径 'yuanjiajia' 已经存在,并且不是一个空目录。
[root@yjj ~]# cd yuanjiajia/
[root@yjj yuanjiajia]# ls
README.en.md README.md
[root@yjj yuanjiajia]# mkdir -p src/main/java/
[root@yjj yuanjiajia]# git add .
[root@yjj yuanjiajia]# git commit -m "文件提交"
[master f8996de] 文件提交
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 src/main/java/Test.java
[root@yjj yuanjiajia]# git push
warning: push.default 未设置,它的默认值将会在 Git 2.0 由 'matching'
修改为 'simple'。若要不再显示本信息并在其默认值改变后维持当前使用习惯,
进行如下设置:
git config --global push.default matching
若要不再显示本信息并从现在开始采用新的使用习惯,设置:
git config --global push.default simple
参见 'git help config' 并查找 'push.default' 以获取更多信息。
('simple' 模式由 Git 1.7.11 版本引入。如果您有时要使用老版本的 Git,
为保持兼容,请用 'current' 代替 'simple' 模式)
Username for 'https://gitee.com': 19119924727
Password for 'https://19119924727@gitee.com':
Counting objects: 7, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (6/6), 429 bytes | 0 bytes/s, done.
Total 6 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [1.1.5]
remote: Set trace flag 8a4af799
To https://gitee.com/yuan-jiajia-1/yuanjiajia.git
edd1b89..f8996de master -> master
在码云上创建项目并且pull和push
5.创建项目
新建分支
新建其他分支