第十四天学习笔记2024.7.25

Git安装

1.安装git

2.创建git仓库

3.创建文件并且提交文件 (git add . 将文件提交到缓存)(git commit -m 说明)(git log 查看历史)

4.分支创建与解决分支冲突问题

创建主机(git 192.168.1.26)

(1)[root@git ~]# yum -y install git

下图是安装成功

(2)[root@git ~]# mkdir /yy000 //存放git文件

使用git指令,一定要cd 到初始化最后的目录中

root@git \~\]# cd /yy000 \[root@git yy000\]# \[root@git yy000\]# git init //相当于建立一个工作区 初始化空的 Git 版本库于 /yy000/.git/ 有隐藏文件 ![](https://i-blog.csdnimg.cn/direct/7ab3ff7b16e946828589b1e0a024b026.png) (3)\[root@git yy000\]# vim Test.java public class Test{ public static void main(String \[\] args){ System.out.println("hello world"); } } ![](https://i-blog.csdnimg.cn/direct/b3d784a4c16442da808f42d34fae5272.png) ![](https://i-blog.csdnimg.cn/direct/ec1ed35b99014d43acd28b46b96ba69b.png) \[root@git yy000\]# git config --global user.name liyang \[root@git yy000\]# git config --global user.email [email protected] \[root@git yy000\]# echo "//这是一行java注释,不会被编译,能提交文件的可读性" \> Test.java \[root@git yy000\]# cat Test.java //这是一行java注释,不会被编译,能提交文件的可读性 ![](https://i-blog.csdnimg.cn/direct/138768756d8448808f593b89c4b2ce08.png) ![](https://i-blog.csdnimg.cn/direct/55b8c8f48b4d4bf0951e0ea60bd4e082.png) 分支的应用 \[root@git yy000\]# git log (查看历史提交记录) \[root@git yy000\]# git branch (仓库当前仓库的分支) \* master (当前只有一个master分支,这个分支叫主分支,最后所有分支会合到master主分支) ![](https://i-blog.csdnimg.cn/direct/266f5430d3374f00abd6b9e17938e6d6.png) //这是一行java注释,不会被编译,能提交文件的可读性 //我又加了一个注释 //我又加了一个ABBABBBABABB注释 \[root@git yy000\]# git branch abranch (切换分支) \[root@git yy000\]# git branch abranch \* master \[root@git yy000\]# #切换到a的分支上 \[root@git yy000\]# git checkout abranch 切换到分支 'abranch' \[root@git yy000\]# git branch \* abranch master \[root@git yy000\]# cat Test.java //这是一行java注释,不会被编译,能提交文件的可读性 //我又加了一个注释 //我又加了一个ABBABBBABABB注释 \[root@git yy000\]# echo "//我是a员工,我不骄傲" \>\> Test.java \[root@git yy000\]# cat Test.java (a分支可以看到) //这是一行java注释,不会被编译,能提交文件的可读性 //我又加了一个注释 //我又加了一个ABBABBBABABB注释 //我是a员工,我不骄傲 \[root@git yy000\]# git add . \[root@git yy000\]# git commit -m "a员工提交的内容" \[abranch ba33d65\] a员工提交的内容 在(创建b分支,在b上创建内容a分支可以看到) \[root@git yy000\]# git branch \* abranch master \[root@git yy000\]# git checkout -b bbranch 跳转的时候创建分支 切换到一个新分支 'bbranch' \[root@git yy000\]# git branch abranch \* bbranch master \[root@git yy000\]# cat Test.java //这是一行java注释,不会被编译,能提交文件的可读性 //我又加了一个注释 //我又加了一个ABBABBBABABB注释 //我是a员工,我不骄傲 \[root@git yy000\]# echo "我是b员工" \>\> Test.java \[root@git yy000\]# git branch abranch \* bbranch master \[root@git yy000\]# git checkout abranch 切换分支 M Test.java 切换到分支 'abranch' \[root@git yy000\]# cat Test.java //这是一行java注释,不会被编译,能提交文件的可读性 //我又加了一个注释 //我又加了一个ABBABBBABABB注释 //我是a员工,我不骄傲 我是b员工 \[root@git yy000\]# git branch cbranch 创建分支 \[root@git yy000\]# mkdir abc \[root@git yy000\]# touch efg \[root@git yy000\]# ls abc efg Test.java \[root@git yy000\]# git add abc/ \[root@git yy000\]# gitcommit -m "更新一个目录" -bash: gitcommit: 未找到命令 \[root@git yy000\]# git commit -m "更新一个目录" # 位于分支 master # 未跟踪的文件: # (使用 "git add \..." 以包含要提交的内容) # # efg 提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪) \[root@git yy000\]# git add efg \[root@git yy000\]# git commit -m "新增了一个efg文件" \[master 82926d5\] 新增了一个efg文件 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 efg \[root@git yy000\]# git add . \[root@git yy000\]# git commit -m "所有的文件都提交" # 位于分支 master 无文件要提交,干净的工作区 分支的创建 \[root@git yy000\]# git branch abranch bbranch cbranch \* master \[root@git yy000\]# git merge abranch 没有什么理由,我就是要合并 \[root@git yy000\]# git log 分支的删除 \[root@git yy000\]# git branch -d abranch 已删除分支 abranch(曾为 2c99666)。 \[root@git yy000\]# git branch -d bbranch 已删除分支 bbranch(曾为 ba33d65)。 \[root@git yy000\]# git branch -d cbranch 已删除分支 cbranch(曾为 1b9eaa5)。 \[root@git yy000\]# git branch \* master \[root@git yy000\]# cat Test.java //这是一行java注释,不会被编译,能提交文件的可读性 //我又加了一个注释 //我又加了一个ABBABBBABABB注释 //我是a员工,我不骄傲 我是b员工 合并时有可能会出现文件冲突:比如:主分支修改了这个文件,zhangsan也修改了这个文件 两个分支都发生了改变,合并的时候就会出现冲突 \[root@git yy000\]# git branch \* master \[root@git yy000\]# echo "//我是主分支,我修改了文件0" \> Test.java \[root@git yy000\]# git checkout -b newbranch M Test.java 切换到一个新分支 'newbranch' \[root@git yy000\]# git branch master \* newbranch \[root@git yy000\]# cat Test.java //我是主分支,我修改了文件0 \[root@git yy000\]# echo "//我是newbranch分支" \>\> Test.java \[root@git yy000\]# cat Test.java //我是主分支,我修改了文件0 //我是newbranch分支 \[root@git yy000\]# git checkout master M Test.java 切换到分支 'master' \[root@git yy000\]# cat Test.java //我是主分支,我修改了文件0 //我是newbranch分支 \[root@git yy000\]# git checkout newbranch M Test.java 切换到分支 'newbranch' \[root@git yy000\]# git status # 位于分支 newbranch # 尚未暂存以备提交的变更: # (使用 "git add \..." 更新要提交的内容) # (使用 "git checkout -- \..." 丢弃工作区的改动) # # 修改: Test.java # 修改尚未加入提交(使用 "git add" 和/或 "git commit -a") \[root@git yy000\]# git add . \[root@git yy000\]# git commit -m "abcd" \[newbranch 838d01d\] abcd 1 file changed, 2 insertions(+), 5 deletions(-) \[root@git yy000\]# git checkout master 切换到分支 'master' \[root@git yy000\]# cat Test.java //这是一行java注释,不会被编译,能提交文件的可读性 //我又加了一个注释 //我又加了一个ABBABBBABABB注释 //我是a员工,我不骄傲 我是b员工 \[root@git yy000\]# echo "eft" eft \[root@git yy000\]# git add . \[root@git yy000\]# git commit -m "ccc" # 位于分支 master 无文件要提交,干净的工作区 \[root@git yy000\]# echo "fsddsgsFSGSSFF" \> Test.java \[root@git yy000\]# git add . \[root@git yy000\]# git commit -m "dadadadadad" \[master 1a56c36\] dadadadadad 1 file changed, 1 insertion(+), 5 deletions(-) \[root@git yy000\]# #主分支有修改,newbranch也有修改 \[root@git yy000\]# #现在要将newbranch合并到主分支 \[root@git yy000\]# git branch \* master newbranch \[root@git yy000\]# git merge newbranch 自动合并 Test.java 冲突(内容):合并冲突于 Test.java 自动合并失败,修正冲突然后提交修正的结果。 以上创造了一个冲突 解决冲突 \[root@git yy000\]# cat Test.java \<\<\<\<\<\<\< HEAD fsddsgsFSGSSFF ======= //我是主分支,我修改了文件0 //我是newbranch分支 \>\>\>\>\>\>\> newbranch \[root@git yy000\]# vim Test.java ![](https://i-blog.csdnimg.cn/direct/48849374be404740ad6d9c8113751d3a.png) ![](https://i-blog.csdnimg.cn/direct/fbabba1c32244a1faf1933a3c3ea0724.png) ![](https://i-blog.csdnimg.cn/direct/a3b3ac8602de4984a8f4704a59dcbffd.png) Git拉去 新建主机(zhangsan 192.168.1.27 ) 安装git \[root@localhost \~\]# yum -y install git 做免密登录 ![](https://i-blog.csdnimg.cn/direct/67e7cb283e5143c4a48415a72b47ee50.png) ![](https://i-blog.csdnimg.cn/direct/247679f9015d4bd595b0892177684456.png) \[root@localhost yy000\]# git pull Already up-to-date. \[root@localhost yy000\]# #修改内容 \[root@localhost yy000\]# #设置自己的姓名和邮箱 \[root@localhost yy000\]# git config --global user.name aaa \[root@localhost yy000\]# git config --global user.email [email protected] \[root@localhost yy000\]# #修改内容 \[root@localhost yy000\]# touch A.class \[root@localhost yy000\]# git add . \[root@localhost yy000\]# git commit -m "aaaaa" \[master 392138f\] aaaaa \[root@localhost yy000\]# #第一次使用对方的项目 git clone \[root@localhost yy000\]# #获取更新 就用git pull \[root@localhost yy000\]# #git clone 会在当前目录下创建新的仓库 在码云上面创建项目并且pull和push [Gitee - 基于 Git 的代码托管和研发协作平台](https://gitee.com/ "Gitee - 基于 Git 的代码托管和研发协作平台") (网址) ![](https://i-blog.csdnimg.cn/direct/f8deefe9a99c418e8ec753e11892cc73.png)

点击初始化

root@localhost yy000\]# git clone https://gitee.com/effective-maple-leaf-c/laoli.git (复制自己的网址) \[root@localhost yy000\]# ls A.class efg laoli Test.java \[root@localhost yy000\]# cd laoli/ \[root@localhost laoli\]# mkdir -p src/main/java \[root@localhost laoli\]# ls README.en.md README.md src \[root@localhost laoli\]# touch src/main/java/Test.java ![](https://i-blog.csdnimg.cn/direct/95828bf18fe942549f0ea15653d65349.png) \[root@localhost laoli\]# git commit -m "文件提交" \[root@localhost laoli\]# git push Username for 'https://gitee.com': 13269546219 (输入网站的账户) 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 2846f492

To https://gitee.com/effective-maple-leaf-c/laoli.git

a8899d3..520fd68 master -> master

相关推荐
黄昏ivi11 分钟前
事件触发控制与响应驱动控制的定义、种类及区别
人工智能·分布式·学习·算法·机器学习
Blossom.11836 分钟前
时间的重构:科技如何重塑人类的时间感知与存在方式
人工智能·科技·学习·重构·云计算·生活·时序数据库
虾球xz1 小时前
游戏引擎学习第218天
java·学习·游戏引擎
虾球xz1 小时前
游戏引擎学习第227天
c++·学习·游戏引擎
道长没有道观1 小时前
ubuntu学习day2
服务器·学习·ubuntu
鹏易灵1 小时前
TA学习之路——1.6 PC手机图形API介绍
学习·智能手机
☞无能盖世♛逞何英雄☜1 小时前
Web三漏洞学习(其一:文件上传漏洞)
学习
OKay_J1 小时前
蓝桥杯备赛笔记(嵌入式)
笔记·stm32·学习·蓝桥杯
牧木江1 小时前
【从C到C++的算法竞赛迁移指南】第二篇:动态数组与字符串完全攻略 —— 写给C程序员的全新世界
c语言·c++·经验分享·笔记·算法
且听风吟5672 小时前
深度为16,位宽8bit的单端口SRAM——学习记录
学习·fpga开发