第十四天学习笔记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 2870541506@163.com \[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 aaa@163.com \[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://13269546219@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 2846f492

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

a8899d3..520fd68 master -> master

相关推荐
盐水冰43 分钟前
【烘焙坊项目】后端搭建(12) - 订单状态定时处理,来单提醒和顾客催单
java·后端·学习
Hello小赵1 小时前
视频压缩编码学习(一)—— 基础知识大集合
学习
左左右右左右摇晃1 小时前
计算机网络笔记整理
笔记·计算机网络
不吃西红柿的851 小时前
[职场] 内容运营求职简历范文 #笔记#职场发展
笔记·职场和发展·内容运营
似水明俊德2 小时前
02-C#.Net-反射-学习笔记
开发语言·笔记·学习·c#·.net
智者知已应修善业2 小时前
【51单片机独立按键控制数码管移动反向,2片74CH573/74CH273段和位,按键按下保持原状态】2023-3-25
经验分享·笔记·单片机·嵌入式硬件·算法·51单片机
adore.9682 小时前
3.18 复试学习
学习
C羊驼3 小时前
C语言:两天打鱼,三天晒网
c语言·经验分享·笔记·算法·青少年编程
留白_3 小时前
MySQL学习(9)——索引
学习
sheeta19983 小时前
苍穹外卖Day04笔记
笔记