第十四天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 [email protected] \[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 \<[email protected]\> 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 \<[email protected]\> 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 \<[email protected]\> Date: Thu Jul 25 10:50:17 2024 +0800 这是第二次提交项目 commit 9abf5f2cd788aa96c161df3d57372546a18f1704 Author: yjj \<[email protected]\> 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 \<[email protected]\> 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 \<[email protected]\> Date: Thu Jul 25 10:50:17 2024 +0800 这是第二次提交项目 commit 9abf5f2cd788aa96c161df3d57372546a18f1704 Author: yjj \<[email protected]\> 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 \<[email protected]\> Date: Thu Jul 25 11:11:14 2024 +0800 将缓存中的内容提交到仓库 commit be20d96b1244c8c7821dbab3d4f4961528733c10 Author: yjj \<[email protected]\> Date: Thu Jul 25 10:50:17 2024 +0800 这是第二次提交项目 commit 9abf5f2cd788aa96c161df3d57372546a18f1704 Author: yjj \<[email protected]\> 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 [email protected] **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 [email protected] \[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://[email protected]': 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 小时前
RISC-V 开发板 + Ubuntu 23.04 部署 open_vins 过程
linux·ubuntu·risc-v
5:002 小时前
云备份项目
linux·开发语言·c++
码农101号2 小时前
Linux中shell编程表达式和数组讲解
linux·运维·服务器
powerfulzyh2 小时前
非Root用户启动SSH服务经验小结
运维·ssh
云道轩2 小时前
升级centos 7.9内核到 5.4.x
linux·运维·centos
是小满满满满吗3 小时前
传输层:udp与tcp协议
linux·服务器·网络
爱学习的小道长3 小时前
Ubuntu Cursor升级成v1.0
linux·运维·ubuntu
EelBarb3 小时前
seafile:ubuntu搭建社区版seafile12.0
linux·运维·ubuntu
Xam_d_LM3 小时前
【Latex】Windows/Ubuntu 绘制 eps 矢量图通用方法(drawio),支持插入 Latex 数学公式
linux·ubuntu·科研·矢量图·drawio
小刘同学++3 小时前
ECB(电子密码本,Electronic Codebook) 和 CBC(密码分组链接,Cipher Block Chaining)区分于用途
网络·ssl