目 录CONTENT

文章目录

Github分支合并

千年的霜雪
2024-12-02 / 0 评论 / 0 点赞 / 5 阅读 / 0 字 / 正在检测是否收录...

使用git bash软件

基本步骤

  1. 切换分支:
    git checkout 分支名
  2. 合并分支:
    git merge 分支名
  3. 提交
    git push 提交分支

本地合并

使用ours和theirs解决冲突

  1. 查看冲突文件
    git status
    这个命令查看当前git bash的工作状态。如果有冲突,则git bash会暂停合并,直到你处理完所有的冲突。
    标红的文件是冲突文件。

  2. 标记保留文件
    git checkout --ours/theirs 文件路径
    对于使用 mergerebase ,使用方式相反,这里对于 merge

    • ours 代表保留当前分支文件。
    • theirs 代表保留被合并分支文件。
  3. 标记文件已解决
    git add 文件路径
    对每个文件,标记保留版本后,都需要标记该文件已解决。

  4. 继续合并
    git merge --continue
    解决冲突文件后,需要手动令git bash继续执行合并操作。

  5. 编辑合并日志
    合并成功后会自动生成一个此次merge的说明日志,如果没有需要修改或添加的,使用Vim语法关闭即可。

  6. 提交合并
    正常add,commit并提交。

拉取时触发合并

使用 git pull 时,其实是自动执行了两个命令:

  1. git fetch 将远程仓库拉取到本地
  2. git merge 合并远程仓库和本地仓库

所以更推荐使用 git fetch 而不是 git pull

但如果确实是使用了 git pull 并触发了合并,其实步骤与本地合并相同。

此时:

  • ours 代表本地仓库
  • theirs 代表远程仓库

常见问题

Everything up-to-date

虽然合并了并且有更改,但提交时提示Everything up-to-date导致无法上传。

此时最稳妥,一定能解决的方法是新创建一个远程分支,然后将当前代码上传到新分支,再与目标分支合并。

  1. 创建新分支
    git branch 分支名
  2. 切换到此分支
    git checkout 分支名

后续步骤略

找不到远程分支

  1. 更新本地分支列表
    git fetch
  2. 查看所有分支
    git branch -a
    标有remote的为远程分支。

参考文章

  1. 看不到git远程分支_git找不到远程分支-CSDN博客
  2. 详解git pull和git fetch的区别, 为什么推荐用git fetch_fetch和pull-CSDN博客
  3. 解决冲突 - Git教程 - 廖雪峰的官方网站
  4. 【已解决】git pull 显示 Already up-to-date,但文件并没有更新_git pull already up to date.-CSDN博客
  5. git 删除分支提示 The branch '***' is not fully merged_没有修改可the branch 'tangjx' is not fully merged. if y-CSDN博客
  6. Git:合并分支----git merge命令应用的三种情景-CSDN博客
  7. Git-优雅地解决冲突:使用ours和theirs_git ours-CSDN博客
  8. Git详细教程(五):查看分支、创建分支、合并分支_git 查看所有分支-CSDN博客
  9. git提交代码时出现Everything up-to-date的解决办法_git up-to-date-CSDN博客
0

评论区