Github——团队协作,分支开发

一、创建分支

git branch fenzhi1

二、切换分支

PS E:\git-study\xiangjiao> git checkout fenzhi1 

Switched to branch 'fenzhi1'

三、模拟团队开发操作

3.1、创建一个java代码文件

在这里插入图片描述

3.2、添加缓存区、提交等

PS E:\git-study\xiangjiao> git status                                                                                   On branch fenzhi1
nothing to commit, working tree clean

PS E:\git-study\xiangjiao> git status                                                                                   On branch fenzhi1
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        HelloWorld.java

nothing added to commit but untracked files present (use "git add" to track)

PS E:\git-study\xiangjiao> git add .\HelloWorld.java         

PS E:\git-study\xiangjiao> git status                                                                                   On branch fenzhi1
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   HelloWorld.java

PS E:\git-study\xiangjiao> git commit -m "hello word"                                                                   [fenzhi1 07b7457] hello word
 1 file changed, 10 insertions(+)
 create mode 100644 HelloWorld.java
PS E:\git-study\xiangjiao> git push                                                                                     fatal: The current branch fenzhi1 has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin fenzhi1

在push操作时,出现了以下的报错信息:

fatal: The current branch fenzhi1 has no upstream branch.
To push the current branch and set the remote as upstream

当前分支fenzhi1没有上游分支。推送当前分支并将遥控器设置为上游。

所以我们采取提示,进行push操作

git push --set-upstream origin fenzhi1


查看github代码视图
在这里插入图片描述

3.3、模拟一个团队项目的修改、提交操作

1、复制bunana项目中的HelloWorld.java文件至other项目中。
在这里插入图片描述
2、在other项目中也创建分支
检出创建新的分支 fenzhi2

git checkout -b fenzhi2

这个命令相对于之前的

git branch fenzhi1  
git checkout fenzhi1

有什么区别呢?
git checkout -b fenzhi2命令的原理就是:

创建一个名称为 fenzhi2的分支,并切换分支

在这里插入图片描述
3、修改other项目中的HelloWorld.java文件内容
在这里插入图片描述
4、other项目将修改后的文件提交至github上

PS E:\git-study\other> git status
On branch fenzhi2
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        HelloWorld.java

nothing added to commit but untracked files present (use "git add" to track)

PS E:\git-study\other> git add .

PS E:\git-study\other> git commit -m "other fenzhi2 commit"
[fenzhi2 76a8750] other fenzhi2 commit
 1 file changed, 10 insertions(+)
 create mode 100644 HelloWorld.java

PS E:\git-study\other> git push
fatal: The current branch fenzhi2 has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin fenzhi2

PS E:\git-study\other> git push --set-upstream origin fenzhi2

5、查看github分支
在这里插入图片描述

四、模拟项目发布(重点)

4.1、切换master分支

git checkout master
在这里插入图片描述

4.2、拉取查看分支更新

git pull
在这里插入图片描述

4.3、将fenzhi1的信息合并到master

git merge fenzhi1
在这里插入图片描述

4.4、将新的文件push至远端

原来的github文件列表
在这里插入图片描述
执行push操作

git push
在这里插入图片描述

查看更新操作后的github文件列表
在这里插入图片描述

4.5、拉取fenzhi2

git merge fenzhi2

但此时,我们执行后,报了一个问题
在这里插入图片描述
原因:
我们在xiangjiao(主项目) 中创建的 fenzhi1,在==other(从项目)==中创建的fenzhi2,我们在xiangjiao项目中拉取所有的文件,此时并没有fenzhi2的项目分支信息,所以找不到。


我们需要如何拉取到fenzhi2的上传信息呢?
从远端拉取

git merge
在这里插入图片描述

此时也出现了问题,但这个问题是否似曾相似?

出现上述问题的原因在于两个分支都是修改的一个文件。我们返回主项目(xiangjiao)中查看相同文件信息。
在这里插入图片描述

修改冲突文件信息。
在这里插入图片描述

4.6、合并后的提交操作

PS E:\git-study\xiangjiao> git status
PS E:\git-study\xiangjiao> git add .\HelloWorld.java
PS E:\git-study\xiangjiao> git commit -m “update fenzhi1 and fenzhi2 to master”
[master bb9a0bb] update fenzhi1 and fenzhi2 to master
PS E:\git-study\xiangjiao> git push
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值