1.先在master 分支创建文件

  1. # 文件名为master.txt
  2. # 文件内容是:master
  3. git add .
  4. git commit -m "master"
  5. git push origin master

2.再从master分支切出dev1分支并提交文件

  1. # 文件名为dev1.txt
  2. # 文件内容是:dev1
  3. git add .
  4. git commit -m "dev1"
  5. git push origin dev1

:dev1分支下会存在两个文件:master.txt、dev1.txt。必须将dev1分支的数据进行提交,否则切换到master分支时,会将修改数据带到master分支

3.切回master

  1. git checkout master

4.从master分支切出dev2分支并提交文件

  1. # 文件名为dev2.txt
  2. # 文件内容是:dev2
  3. git add .
  4. git commit -m "dev2"
  5. git push origin dev2

:dev2分支下会存在两个文件:master.txt、dev2.txt。必须将dev2分支的数据进行提交,否则切换到master分支时,会将修改数据带到master分支

5.如果没有提交还想切换,修改记录不带过去的话使用stash

  1. # 保存dev分支的修改到堆栈中
  2. $ git stash
  3. # 切换master分支
  4. $ git checkout master
  5. # 切回dev分支
  6. $ git checkout dev
  7. # 获取堆栈列表
  8. $ git stash list
  9. # 取回堆栈最新的修改
  10. $ git stash pop

6.优雅的将当前分支的修改带到其它分支

  1. # 由于 git stash的堆栈是所有分支共享的,所以 master分支也可以取得dev分支的修改,过程非常的简单。
  2. # 保存dev分支的修改到堆栈中
  3. $ git stash
  4. # 切换master分支
  5. $ git checkout master
  6. # 取回堆栈最新的修改
  7. $ git stash pop
  8. # 或者取回堆栈指定的修改
  9. $ git stash apply stash@{0}

7.将dev1分支合并到master分支

  1. # 先从dev1切换到master分支
  2. git merge dev1

:此时master分支上就有两个文件:master.txt 、dev1.txt

8.将dev2分支合并到master分支

  1. # 先从dev2切换到master分支(如果在master分支不用操作)
  2. git merge dev2

:此时master分支上就有三个文件:master.txt 、dev1.txt、dev2.txt