一、创建分支
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