zyx青岛实训day14 7/25

Git

一种分布式版本控制系统,用于跟踪和管理代码的变更

一.Git的主要功能:

二.准备git机器

修改静态ip,主机名

三.git仓库的建立:

1.安装git

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

2.创建一个目录----用来放置git文件

[root@git ~]# mkdir /yy000

3.使用git指令,一定要cd到初始化之后的目录

cd到yy000目录中使用init指令初始化

[root@git ~]# mkdir /yy000

[root@git ~]# cd /yy000/

[root@git yy000]# ls

[root@git yy000]# git init //将我们当前的目录变成一个工作区

4.初始化空的 Git 版本库于 /yy000/.git/

[root@git yy000]# vim Test.java //添加一个文件

[root@git yy000]# ls

Test.java

5.[root@git yy000]# git add Test.java //将Test.java放到缓存里面

6.[root@git yy000]# git commit -m "新建了一个Test.java文件,这是新建的" //提交放到仓库里面

7.创建用户及邮箱

[root@git yy000]# git config --global user.name tjj

[root@git yy000]# git config --global user.email 3490805063@qq.com

8.修改Test.java文件,添加一行注释

[root@git yy000]# echo "//这是一行jav注释,不会被编译,能提交 文件的可读性" >Test.java

[root@git yy000]# git log //查看日志

[root@git yy000]# git commit -m "这是第二次提交"

[root@git yy000]# git log

[root@git yy000]# echo "//我又加了一个注释" >> Test.java

[root@git yy000]# git add .

[root@git yy000]# git commit -m "将缓存中的内容提交到仓库"

[root@git yy000]# git log

四.git的基本流程

五.分支

1.查看当前仓库的分支

[root@git yy000]# git branch

* master //当前只有一个master主分支,当工作完成后,其他的分支都会合并到主分支

要求abc三个人实现一个接口

一个文件在同一时间只能被一个用户编辑

2.格式:

创建分支

git branch 分支名称

git checkout -b 分支名称

跳转分支

git checkout 分支名称

删除分支(两个分支合并的情况下)

git branch -d 分支名

强制删除分支(即使该分 支尚未合并),可以使用以下命令:

git branch -D 分支名

合并分支

git merge 分支名称

3.例子:

(1)[root@git yy000]# git branch abranch //创建分支

[root@git yy000]# git branch //查看分支

abranch

* master

(2)切换到abranch分支上

[root@git yy000]# git checkout abranch

切换到分支 'abranch'

[root@git yy000]# git branch

* abranch

master

[root@git yy000]# ls

Test.java

(3)[root@git yy000]# echo "我睡觉哦" >> Test.java //写入内容并追加到Test.java文件中

[root@git yy000]# cat Test.java

(4)[root@git yy000]# git add . //将分支写的内容提交到缓存

(5)[root@git yy000]# git commit -m "我提交的" //提交新分支并注释为"我提交的"

[root@git yy000]# git checkout master

切换到分支 'master'

[root@git yy000]# git branch

abranch

* master

[root@git yy000]# cat Test.java

刚才写入的内容没有了,是因为之前是在其他分支上操作的,并非在master

上 ,所以切换回master后,显示的内容只会是master分支上的内容

[root@git yy000]# git checkout -b bbranch //-b在切换分支的同时创建分支

切换到一个新分支 'bbranch'

[root@git yy000]# git branch

abranch

* bbranch

master

[root@git yy000]# cat Test.java

[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

这两个分支可以共享

[root@git yy000]# git commit -m "aaa"

[root@git yy000]# git checkout master

[root@git yy000]# mkdir abc

[root@git yy000]# ls

abc Test.java

[root@git yy000]# touch efg

[root@git yy000]# git add abc/

[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 6386f17] 新增了一个efg

1 file changed, 0 insertions(+), 0 deletions(-)

create mode 100644 efg

[root@git yy000]# git add .

[root@git yy000]# git commit -m "所有都提交"

当代码任务完成后,需要将更改合并回主分支。首先,切换回主分支

[root@git yy000]# git checkout master

[root@git yy000]# git merge abranch //在master里面把a修改的合并到master

[root@git yy000]# git log

删除分支(合并的情况下)

[root@git yy000]# git branch -d abranch

[root@git yy000]# git branch -d bbranch

[root@git yy000]# git branch -d cbranch

[root@git yy000]# git branch

* master

六.分支冲突:

在合并的时候,有可能出现文件冲突(主分支修改了文件,zhangsan分支也修改了这个文件,两个分支都发生了修改,合并的时候,就不清楚以哪个分支为主,产生冲突)

手动解决:

[root@git yy000]# echo "//我是主分支" > Test.java

[root@git yy000]# git checkout -b newbranch

[root@git yy000]# echo "//我是nerbranch分支" >> Test.java

[root@git yy000]# git add .

[root@git yy000]# git commit -m "abcd"

[newbranch e71525b] abcd

1 file changed, 2 insertions(+), 4 deletions(-)

[root@git yy000]# git checkout master

切换到分支 'master'

[root@git yy000]# cat Test.java

//这是一行jav注释,不会被编译,能提交文件的可读性

//我又加了一个注释

我睡觉哦

我是b

[root@git yy000]# echo "sdsdwsdew" > Test.java

[root@git yy000]# git add .

现在两个分支都有修改要将新分支合并到主分支

[root@git yy000]# git commit -m "cjdsbvdj"

修改Test.java文件

[root@git yy000]# vim Test.java

[root@git yy000]# git commit -m "cjdsbvdj" //再次合并

[root@git yy000]# git log

git拉取:

再启动一台主机

安装git

Yum -y install git

做一个免密登录到git主机上

ssh-keygen

ssh-copy-id root@192.168.2.30

克隆192.168.2.30上的资料

[root@git1 ~]# git clone 192.168.2.30:/yy000/.git/

修改内容

设置自己的姓名和邮箱

[root@git1 yy000]# git config --global user.name aaa

[root@git1 yy000]# git config --global user.email ++++aaa@163.com++++

修改内容

[root@git1 yy000]# touch A.class

[root@git1 yy000]# git add .

[root@git1 yy000]# git commit -m "aaaa"

第一次使用对方的项目 git clone

七.在码云上创建项目

[root@git1 ~]# git clone smt: 用于仓库部署

[root@git1 ~]# cd smt/

[root@git1 smt]# ls

README.en.md README.md

[root@git1 smt]# mkdir -p src/main/java/

[root@git1 smt]# ls

README.en.md README.md src

[root@git1 smt]# touch src/main/java/Test.java

[root@git1 smt]# git add .

[root@git1 smt]# vim src/main/java/Test.java

[root@git1 smt]# vim src/main/java/Test.java

[root@git1 smt]# git add .

[root@git1 smt]# git commit -m "水蜜桃"

[root@git1 smt]# git push

相关推荐
智慧化智能化数字化方案25 分钟前
华为IPD流程管理体系L1至L5最佳实践-解读
大数据·华为
PersistJiao2 小时前
在 Spark RDD 中,sortBy 和 top 算子的各自适用场景
大数据·spark·top·sortby
2301_811274312 小时前
大数据基于Spring Boot的化妆品推荐系统的设计与实现
大数据·spring boot·后端
Yz98762 小时前
hive的存储格式
大数据·数据库·数据仓库·hive·hadoop·数据库开发
青云交2 小时前
大数据新视界 -- 大数据大厂之 Hive 数据导入:多源数据集成的策略与实战(上)(3/ 30)
大数据·数据清洗·电商数据·数据整合·hive 数据导入·多源数据·影视娱乐数据
武子康2 小时前
大数据-230 离线数仓 - ODS层的构建 Hive处理 UDF 与 SerDe 处理 与 当前总结
java·大数据·数据仓库·hive·hadoop·sql·hdfs
武子康2 小时前
大数据-231 离线数仓 - DWS 层、ADS 层的创建 Hive 执行脚本
java·大数据·数据仓库·hive·hadoop·mysql
时差9532 小时前
Flink Standalone集群模式安装部署
大数据·分布式·flink·部署
锵锵锵锵~蒋2 小时前
实时数据开发 | 怎么通俗理解Flink容错机制,提到的checkpoint、barrier、Savepoint、sink都是什么
大数据·数据仓库·flink·实时数据开发
二进制_博客2 小时前
Flink学习连载文章4-flink中的各种转换操作
大数据·学习·flink