团队协作分支开发模式
一个好的 github 项目一般都有多个分支:master,dev,release分支
- 新建分支 branch
git branch branch1
- 切换到目标分支
git checkout branch1
- 在本地的branch1 中添加一个helloworld.java 文件
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello world");
System.out.println("1");
System.out.println("hello world");
System.out.println("2");
}
}
-
推送到远端
git push --set-upstream origin branch1
然后远端就有了master 和 branch1 两个分支了, 其中branch1 中才有 java文件 -
同理,在另一个人的主机上, 创建branch2, 并写自己的HelloWorld.java文件
public class HelloWorld {
public static void main(String[] args) {
System.out.println("1");
System.out.println("hello world");
System.out.println("2");
System.out.println("hello world");
}
}
-
分支的合并发布 首先切换到master分支
git checkout master
-
拉一下最新的远端分支情况
git pull
-
将branch1 分支的内容合并到master 分支上
git merge brunch1
-
推到远端
git push
-
发现master 分支 也有branch1 中的java文件了
-
同理合并 branch2 到 master上, 但是发现合并有冲突, 因为有两个同名的Java 文件, 但是文件内容却不一样
使用IDEA 快速解决 git merge 当中的冲突
-
右键, 选择git-》resolve conflict
-
双击出现的 conflict 进行代码比对
-
手动比对之后出现 all changes have been processed 就可以了, 点击右下角apply
然后上传到远端没有出现错误则说明成功