0


git合并分支文件

1.环境准备:

首先创建一个仓库:

git init
git clone  + 仓库地址

至此可以看见初始化之后的环境如下:
远端仓库
终端环境

2.创建分支

git checkout -b user1

在这里插入图片描述

3.在不同的分支下更改同一文件内容

  1. 在分支user1下,对README.md进行修改。 然后将README.m进行提交。
  2. 在分支master下,对README.md进行修改。 然后将README.m进行提交。
  3. 进行merge合并,并修改冲突文件
  4. 正常提交

必须在进行commit提交之后才能够进行合并,且可能会出现如下情况:
在主分支的基础上,新建了其他分支,进行修改,改完之后,切回主分支,发现主分支的内容也被修改,反复切换分支,发现分支确实切换了,但是内容显示的确实新建分支的内容,难道主分支也同步被修改了?
答案是:没有修改,原因是我们在新建的分支上做了修改之后没有做提交版本,现在只需要切换到新建的分支,对当前的修改做一次提交,问题就解决了!

完整命令如下:

vim README.md
git add README.md
git commit -m "add information in user1"
git checkout master
vim README.md
git add README.md
git commit -m "add information in user1"
git status

在这里插入图片描述
此时可以看到merge冲突,即两个分支在同一个文件中进行了修改,git不知道保存哪些内容,需要我们进行手动更改保存。
打开READMA.md,进行修改,如下图所示:
在这里插入图片描述
git 以

========

为分割,上面是master进行修改的内容(HEAD是当前指针),下面是user1分支修改的内容,手动进行修改,得到想要的内容进行提交。我们需要保存两个分支的内容,则只保留2、4行,正常add 、 commit 、 push git 即可。
在这里插入图片描述
在这里插入图片描述
更新分支代码:

git checkout master
git push -u origin user1 # 更新到分支
git checkout user1
git merge master

查看README.md可以看到两个分支的文件内容是一致的了。

4. 合并分支不同文件

在master分支和user1分支下分别建立一个新的文件,然后进行以下命令。

  git branch
  vim user1.c
  git add user1.c
  git commit -m "add user1.c in user1"
  git checkout master
  ls
  vim master.c
  git add master.c
  git commit -m "add master.c in master"
  git merge user1
  ls
  git checkout user1
  ls
  git merge master
  git push origin master
  ls

可以看到,两个分支下的文件一致了。

注:本文仅在初始的仓库中进行测试,仓库已有代码,需要进行对应的push 和 pull操作。

标签: git github

本文转载自: https://blog.csdn.net/weixin_45174651/article/details/127806730
版权归原作者 果果冻冻 所有, 如有侵权,请联系我们删除。

“git合并分支文件”的评论:

还没有评论