第十四天学习笔记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

相关推荐
每次的天空2 分钟前
Android学习总结之Glide自定义三级缓存(面试篇)
android·学习·glide
名誉寒冰36 分钟前
# KVstorageBaseRaft-cpp 项目 RPC 模块源码学习
qt·学习·rpc
开发游戏的老王1 小时前
[虚幻官方教程学习笔记]深入理解实时渲染(An In-Depth Look at Real-Time Rendering)
笔记·学习·虚幻
愚润求学2 小时前
【Linux】Ext系列文件系统
linux·运维·服务器·笔记
码农小嘉2 小时前
若依框架页面
学习
小新1103 小时前
微信小程序学习之轮播图swiper
学习·微信小程序·notepad++
邝邝邝邝丹3 小时前
React学习———React.memo、useMemo和useCallback
javascript·学习·react.js
一年春又来4 小时前
AI-02a5a6.神经网络-与学习相关的技巧-批量归一化
人工智能·神经网络·学习
幸好我会魔法4 小时前
使用githubPage+hexo搭建个人博客
笔记·github
s1ckrain4 小时前
嵌入式操作系统学习笔记
学习·嵌入式·ucosii