我有自己的功能分支,我已经使用git添加到代码中。不幸的是,主代码的更新经常发生,并且没有版本控制。我每次都会获得原始源代码。
使用较新版本的代码更新我的功能分支的正确方法是什么?我没有显示代码更新的历史记录......
那么:是否有命令将较新的原始源代码引入主分支,然后自动合并我未触及但已更新的所有文件?
答案 0 :(得分:2)
创建一个分支(称为任何你想要的,也许是“供应商”),并提交你进入该分支的每个新版本的源代码。 Git会弄清楚新代码和前一代码之间有什么不同,然后你可以将它合并到你的代码中:
git checkout master
git merge vendor
如果您从开始修改的原始源(即您第一次提交到Git)开始,并且从该点分支“供应商”分支,这将是最简单的。
答案 1 :(得分:1)
请注意,从那时起,您就拥有了一个使用git管理功能分支的“官方”模型: gitflow 。
请参阅“Why aren't you using git-flow?”
git flow feature rebase
会在master
(定期更新)分支之上重新设置您的功能分支。
答案 2 :(得分:0)
有一个git-load-dirs
工具似乎是 vcs-load-dirs 的一部分,但作者不再维护它。我知道其他工具如git-buildpackage
(对于Debian)使用git-load-dirs
来获取源tarball并将其作为新的上游版本导入以创建他们自己的上游版本历史。
为了实现这一点,我相信您需要一个未被触及的分支作为您的上游历史记录,因此您需要使用master并且永远不会将自己的工作提交给它或使用不同的分支来处理上游历史记录,例如'upstream'