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

有隐藏文件

(3)[root@git yy000]# vim Test.java

public class Test{

public static void main(String [] args){

System.out.println("hello world");

}

}

[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注释,不会被编译,能提交文件的可读性


分支的应用

[root@git yy000]# git log (查看历史提交记录)

[root@git yy000]# git branch (仓库当前仓库的分支)

* master (当前只有一个master分支,这个分支叫主分支,最后所有分支会合到master主分支)

//这是一行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 <file>..." 以包含要提交的内容)

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 <file>..." 更新要提交的内容)

(使用 "git checkout -- <file>..." 丢弃工作区的改动)

修改: 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


Git拉去

新建主机(zhangsan 192.168.1.27 )

安装git

[root@localhost ~]# yum -y install git

做免密登录

[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 的代码托管和研发协作平台 (网址)

点击初始化

[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

[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

相关推荐
不会编程的懒洋洋3 分钟前
Spring Cloud Eureka 服务注册与发现
java·笔记·后端·学习·spring·spring cloud·eureka
scc214015 分钟前
spark的学习-06
javascript·学习·spark
luoganttcc15 分钟前
能否推荐开源GPU供学习GPU架构
学习·开源
垂杨有暮鸦⊙_⊙40 分钟前
阅读2020-2023年《国外军用无人机装备技术发展综述》笔记_技术趋势
笔记·学习·无人机
Mephisto.java1 小时前
【大数据学习 | HBASE高级】region split机制和策略
数据库·学习·hbase
Xiao Fei Xiangζั͡ޓއއ1 小时前
一觉睡醒,全世界计算机水平下降100倍,而我却精通C语言——scanf函数
c语言·开发语言·笔记·程序人生·面试·蓝桥杯·学习方法
Bio Coder2 小时前
学习用 Javascript、HTML、CSS 以及 Node.js 开发一个 uTools 插件,学习计划及其周期
javascript·学习·html·开发·utools
baijin_cha2 小时前
机器学习基础04_朴素贝叶斯分类&决策树分类
笔记·决策树·机器学习·分类
Allen zhu2 小时前
【PowerHarmony】电鸿蒙学习记录-准备工作
学习·华为·harmonyos
华清远见成都中心2 小时前
物联网学习路线来啦!
物联网·学习