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 [email protected]
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 \