我正在开发一个项目,构建时间有时很长,而且经常需要重新构建。如果我有一个旧分支正在进行一些工作(已提交,但基于较旧的父级),运行git checkout oldbranch
会将工作目录更改为表示所有旧代码,这就使我需要再次运行完整构建。
但通常情况下,我只修改了一个或两个文件,其他文件不需要重置。我想做的是将此分支rebase到当前主线头,并保留这些文件中所做的更改。
基本上,如果已修改和,则我需要一种方法让这些更改以当前主线为基础,而不触及除这两个文件之外的任何文件。
是否有一种Git方式来做到这一点?目前我在使用补丁文件来完成此操作。
git clone -b oldbranch . ../oldbranch; cd !$; work work commit commit lalala; git push origin oldbranch; cd -
- jthillgit cherry-pick
吗?它是rebase
的相反操作,可以获取其他提交中的工作并将其应用到本地。 - jthill