当前位置:   article > 正文

git合并分支文件_git 合并文件

git 合并文件

1.环境准备:

首先创建一个仓库:

git init
git clone  + 仓库地址
  • 1
  • 2

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

2.创建分支

git checkout -b user1
  • 1

在这里插入图片描述

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述
此时可以看到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
  • 1
  • 2
  • 3
  • 4

查看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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/688593
推荐阅读
相关标签
  

闽ICP备14008679号