git---分支的并行开发和合并

-==》分支的并行开发 和 合并========》
查看分支        git branch          重要  
创建分支          git branch 分支名   重要  
切换分支        git checkout 分支名  重要   
 合并分支        git merge 分支名   重要
         把指定的分支合并到当前分支

# 查看当前分支 
Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (dev)
$ git branch
* dev
  dev01
  master
====》分支并行开发结合图去看
#从dev上切换到dev01上
Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (dev)
$ git checkout dev01
Switched to branch 'dev01'
# dev01 创建一个 QueryAll文件 并 添加提交
Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (dev01)
$ touch QueryAll.java

Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (dev01)
$ git add .

Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (dev01)
$ git commit -m 'dev01 完成了查询所有的功能 为我点赞吧'
[dev01 cf53bc1] dev01 完成了查询所有的功能 为我点赞吧
 1 file changed, 1 insertion(+)
 create mode 100644 QueryAll.java
# 检查提交点
Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (dev01)
$ git-log
* cf53bc1 (HEAD -> dev01) dev01 完成了查询所有的功能 为我点赞吧
* 02b8021 (dev) dev 颁布了开发手册
* dc02f9b (master) master 主分支 发布了 开发任务 readme.md
# 从dev01切换到dev上
Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (dev01)
$ git checkout dev
Switched to branch 'dev'
# 查看
Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (dev)
$ ls
dev.shouce  readme.md
# dev创建 zhaopin.txt文件 并完成添加提交操作
Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (dev)
$ touch zhaopin.txt

Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (dev)
$ git add .

Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (dev)
$ git commit -m 'dev 发布了招聘文档'
[dev 14af704] dev 发布了招聘文档
 1 file changed, 1 insertion(+)
 create mode 100644 zhaopin.txt
# 查看提交日志信息  
Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (dev)
$ git-log
* 14af704 (HEAD -> dev) dev 发布了招聘文档
| * cf53bc1 (dev01) dev01 完成了查询所有的功能 为我点赞吧
|/
* 02b8021 dev 颁布了开发手册
* dc02f9b (master) master 主分支 发布了 开发任务 readme.md
# 切换到master分支上 
Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (dev)
$ git checkout master
Switched to branch 'master'
# master分支 创建zhaopin.txt文件并 提交  注意 其里面第一行与dev内容不一样
Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (master)
$ touch zhaopin.txt

Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (master)
$ git add .

Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (master)
$ git commit -m 'master 发布招聘信息'
[master ee14029] master 发布招聘信息
 1 file changed, 1 insertion(+)
 create mode 100644 zhaopin.txt
# 查看 这三个分支的提交点位
Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (master)
$ git-log
* ee14029 (HEAD -> master) master 发布招聘信息
| * 14af704 (dev) dev 发布了招聘文档
| | * cf53bc1 (dev01) dev01 完成了查询所有的功能 为我点赞吧
| |/
| * 02b8021 dev 颁布了开发手册
|/
* dc02f9b master 主分支 发布了 开发任务 readme.md
=================分支之间的合并=====》

# 切换到 dev上 用来合并dev01

Yoyo-ba@yoyoba MINGW4 /e/402/gitbranch (master)
$ git checkout dev
Switched to branch 'dev'
# dev 合并了 dev01 
Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (dev)
$ git merge dev01 -m 'dev 收了dev01 代码'
Merge made by the 'recursive' strategy.
 QueryAll.java | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 QueryAll.java
# 没有冲突 一切ok
Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (dev)
$ ls
dev.shouce  QueryAll.java  readme.md  zhaopin.txt
# 查看提交日志 看到了合并的操作
Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (dev)
$ git-log
*   b134de2 (HEAD -> dev) dev 收了dev01 代码
|\
| * cf53bc1 (dev01) dev01 完成了查询所有的功能 为我点赞吧
* | 14af704 dev 发布了招聘文档
|/
* 02b8021 dev 颁布了开发手册
| * ee14029 (master) master 发布招聘信息
|/
* dc02f9b master 主分支 发布了 开发任务 readme.md
# 切换的master分支 准备合并掉dev分支
Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (dev)
$ git checkout master
Switched to branch 'master'

#  master合并 dev分支  一个文件出现了冲突  同名同位置有不同内容即为冲突
Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (master)
$ git merge dev -m 'master 要收了dev '
CONFLICT (add/add): Merge conflict in zhaopin.txt
Auto-merging zhaopin.txt
Automatic merge failed; fix conflicts and then commit the result.

打开文件 
   git 把你两个冲突体现出来了  
 <<<<<<< HEAD    当前master分支里面的内容
招聘 一个项目经理 两个程序员
=======   下面是 合并过来里面的内容
zhaoping 2 ge 3years old cxy
>>>>>>> dev

作为发动合并的人 你有 决定权 要留谁的代码

你已经修改了 这个 冲突文件 这个文件在 工作区
必须 先添加到暂存区 再提交!!!才能完成合并!!!!


$ git status
On branch master
You have unmerged paths.
  (fix conflicts and run "git commit")
  (use "git merge --abort" to abort the merge)

Changes to be committed:
        new file:   QueryAll.java
        new file:   dev.shouce

Unmerged paths:
  (use "git add <file>..." to mark resolution)
        both added:      zhaopin.txt


Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (master|MERGING)
$ git add .

Yoyo-ba@yoyoba MINGW64 /e/402/gitbranch (master|MERGING)
$ git commit -m 'mater 收了dev 并且处理好了其中冲突'
[master ab05d95] mater 收了dev 并且处理好了其中冲突

猜你喜欢

转载自blog.csdn.net/qq_46020806/article/details/130548409