第十四天7.25(git)

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

新建分支

新建其他分支

相关推荐
讯捷蓝达1 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
且从容.2 小时前
ubuntu安装flink
linux·ubuntu·flink
数字新视界4 小时前
动环监控信创适配在智能机房管理中的应用价值与未来展望
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
爱和冰阔落4 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨4 小时前
WSL2的安装与使用
linux·wsl
微小的鱼4 小时前
Linux的渲染与显示系统链路
android·java·linux
lisanmengmeng5 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
严肃小白兔5 小时前
Cloudflare 更新 API Token 管理:从最小权限到自动化凭据安全
网络·安全·自动化
Android系统攻城狮5 小时前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
上火的金鱼妹5 小时前
k8s生产实际问题排查(网关,数据库读写等)
运维·服务器