第十四天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. 创建项目

新建分支

新建其他分支

相关推荐
小han的日常20 分钟前
接口自动化环境搭建
运维·自动化
小扳22 分钟前
Docker 篇-Docker 详细安装、了解和使用 Docker 核心功能(数据卷、自定义镜像 Dockerfile、网络)
运维·spring boot·后端·mysql·spring cloud·docker·容器
Koi慢热23 分钟前
信息收集合集
网络·安全·web安全·网络安全
运维小文26 分钟前
服务器硬件介绍
运维·服务器·计算机网络·缓存·硬件架构
小周不摆烂33 分钟前
丹摩征文活动 | 丹摩智算平台:服务器虚拟化的璀璨明珠与实战秘籍
大数据·服务器
中云DDoS CC防护蔡蔡34 分钟前
为什么海外服务器IP会被封
服务器·经验分享
是安迪吖37 分钟前
nfs服务器
运维·服务器
鱼骨不是鱼翅38 分钟前
模拟回显服务器
运维·服务器
运维佬39 分钟前
CentOS 9 配置网卡
linux·centos
轩轩曲觞阁1 小时前
Linux网络——网络初识
linux·网络