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
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













