当前位置:   article > 正文

git分支合并

git分支合并

分支合并

需求

团队协同开发中,需要对版本进行控制。

一、实现方式

1.1、命令行方式实现

创建测试文件

image-20210922093656193

查看本地分支

git branch -a
  dev
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

image-20210922093827514

切换到dev分支

E:\IdeaProjects\SilverStar>git checkout dev
Switched to branch 'dev'
A       src/test.txt
Your branch is up to date with 'origin/dev'.
  • 1
  • 2
  • 3
  • 4

image-20210922093948738

提交到远程仓库

git add .  

git commit -m"测试"

[dev ac19b5a] 测试
 1 file changed, 1 insertion(+)
 create mode 100644 src/test.txt

git push  # 提交到远程仓库,如果是第一次提交需要使用 git  push -u origin dev
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 16 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 346 bytes | 346.00 KiB/s, done.
Total 4 (delta 1), reused 0 (delta 0), pack-reused 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

image-20210922094457674

将dev分支合并到master

首先切换到 master分支

git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
  • 1
  • 2
  • 3

image-20210922095330159

每次提交前建议都pull一次,这样不会出错

E:\IdeaProjects\SilverStar>git pull origin master
From http://e-cology.top:84/zhanghuan/SilverStar
 * branch            master     -> FETCH_HEAD
Already up to date.
  • 1
  • 2
  • 3
  • 4

开始合并

E:\IdeaProjects\SilverStar>git  merge dev
Updating 6a1c32b..ac19b5a
Fast-forward
 src/test.txt | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 src/test.txt
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

可以查看一下本地git状态

git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)

nothing to commit, working tree clean
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

image-20210922100022365

可以看到是有一条commit记录的,接着我们将他提交到远程仓库

git push origin master
  • 1

image-20210922100131620

可以看到matser分支已经将dev分支新增的内容同步过来

1.2、IDEA 方式实现

第二种方式呢,我们使用 IDEA (java开发IDE)将刚才添加的内容删除,并同步节点。我们可以直接从主分支master删除,然后同步分支dev就可以,也可以从分支dev删除,然后同步主分支master。这里采用第二种

切换到主分支,删除text.txt

Local里面,鼠标右键matser分支,checkout,然后删除test.txt

image-20210922100841312

Remote里面同样选择master

image-20210922101410521

提交

选择左侧 commit 侧边栏,勾选我们删除的文件,填写commit消息之后,点击commit and push进行提交

image-20210922101014010

选择push

image-20210922101520768

可以看到master分支多了一条提交记录,而且远程仓库也删除了。

image-20210922102014063

image-20210922102116021

同步到dev分支

LocalRemote 都选择dev分支,右键checkout

image-20210922102246846

接着选择Local里面的dev,鼠标右键选择 Merge Selected into Current,成功后可以看到的dev 后面是由一个 绿色的提交箭头的。

image-20210922102448678

push到远程仓库`

右键 dev 选择 push

image-20210922102612091

image-20210922103318249

新增的文件已经被删除。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/850718
推荐阅读
相关标签
  

闽ICP备14008679号