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. 创建项目

新建分支

新建其他分支





