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

新建分支

新建其他分支

相关推荐
跨境数据猎手11 分钟前
跨境独立站系统技术拆解(附带源码)
服务器·前端·php
AOwhisky31 分钟前
Kubernetes 学习笔记:集群管理、命名空间与 Pod 基础
linux·运维·笔记·学习·云原生·kubernetes
小龙在慢慢变强..1 小时前
目录结构(FHS 标准)
linux·运维·服务器
2035去旅行1 小时前
嵌入式开发,如何选择C标准库
linux·arm开发
刘延林.1 小时前
win11系统下通过 WSL2 安装Ubuntu 24.04 使用RTX 5080 GPU
linux·运维·ubuntu
星恒讯工业路由器1 小时前
星恒讯工业生产自动化解决方案
运维·物联网·自动化·智能路由器·信息与通信
Diros1g2 小时前
如何通过普通网线给另一个设备供网
网络·网络协议
a8a3022 小时前
Laravel9.x新特性全解析
运维·spring boot·nginx
beyond阿亮2 小时前
IEC104 Client Simulator - IEC104 主站/客户端模拟器 仿真器免费使用教程
运维·服务器·网络
(Charon)2 小时前
【C++/Qt】Qt 封装 TCP 客户端底层 Network 类:连接、收发、自动测试与错误处理
服务器·网络·qt·tcp/ip