问题描述
想象一下,你已经从 main 创建了一个分支,并添加了一些功能。同时,你的同事也创建了一个分支并且正在处理它。如果他把他的工作合并到 master 分支,你怎么也把你的合并到 master 而不删除他的代码?
如果这是一个简单的问题,我深表歉意,但我对这个世界有点陌生:)
解决方法
你必须在 master 上重新设置你的分支。如果您与他处理过相同的文件或相同的代码行,则您可能需要在此 rebase 期间处理一些冲突。
我建议您使用此网站进行 Git 培训: https://learngitbranching.js.org 这是一个很棒的工具,因为它将问题分解成小部分:
- 首先你会发现(不可变的)提交树和孤儿提交
- 什么是分支(它只是提交时的一个标志),什么是头部 (也是一个标志)
首先要了解这两个部分非常很重要!
- 然后是合并、rebase、 交互式变基
您必须选择的两种方法是变基或合并。
在较高级别上,它们涉及将最新的更改掌握到您的本地克隆中。重新设定您的功能分支或合并来自主分支的更改并解决任何冲突。
https://www.atlassian.com/git/tutorials/merging-vs-rebasing
如何进行合并的示例...
git checkout master
git pull
git checkout my-feature-branch
git 合并主
解决任何冲突。
git add -A
git commit -a —no-edit
git push