我是一个独立的开发者,正在进行一个相当大的项目。我在master
分支上做了几个重要的更改,现在我要继续在feature
分支上工作,但它已经落后了很多。 feature
分支确实需要来自master
的更改,但在feature
准备发布之前,我不想将这些更改合并到master
中。我认为这是一个很直接的rebase案例,但我不确定。下面是我的情况的一个非常简化版本(实际历史更长)。
* 0e109d5 - (HEAD, origin/master, origin/HEAD, master) latest commit
* 9188511 - major schema change
| * d3472a5 - (origin/feature, feature) feature branch commit
| * 6c36837 - Start of feature branch
|/
* 80d93a8 - Base commit
- 我已经将
feature
推送到远程仓库以备份,这通常对于变基来说是不好的。但由于它没有与任何其他人共享,我是否可以简单地删除远程分支,并像从未存在过一样继续?我的remote
仅用于离线存储和安全性(它是一个普通的 git 服务器,而不是 github)。 - 假设远程分支不再是问题,我能否将
master
变基到feature
上,然后只继续在feature
上工作,而不必将master
快进到最后一个功能分支提交? - 我认为我不需要挑选某些提交,因为
feature
基本上需要所有在master
中的更改。 - 我认为我还可以从基础提交到
HEAD
创建一个补丁文件,然后尝试将其应用到feature
上。
非常感谢您的建议。我喜欢 Git,但我没有经验进行变基。