我有一堆从我的.bashrc加载的bash脚本,我存储在一个私人的github仓库中,这样我就可以在不同的计算机上使用它们。每台计算机都有自己的怪癖,所以我为每台计算机都建立了一个分支。我在我的工作电脑上开始了这个项目,所以master
有一堆代码与我的家庭环境无关。
在这些分支中,我已经删除了与工作相关的更改,但是如果我可以使work
成为自己的分支并使master
成为基本的、非定制的代码集,那就更好了。这样,每当我在work
分支中进行更改时,当我将家用计算机重新定位到master
时,就不会出现有关已删除文件的合并冲突。但是,我想对master
进行修改,使其适用于我的所有分支;如果我随后将work
重新基化为master
(它删除了我工作代码),那么work
将接收这些删除。
如何将master
分支到work
,删除master
上与工作相关的更改,然后将work
重新基化为已清理的master
,而不删除work
中与工作相关的所有代码?
我可以使用git rebase --interactive
并将我从一开始的所有工作更改拆分出来,但对于一个不太常见的操作来说,这似乎很乏味。
我看到了git rebase --onto
和git filter-branch
,但从我所读到的,这两个看起来都不像是正确的方法。
1条答案
按热度按时间ctehm74n1#
我如何将master分支到work中,删除master上与工作相关的更改,然后将工作重定向到清理后的master上,而不删除work中与工作相关的所有代码?
变基到master将使用一个。。
rebase --onto
:这将在清理过的master上重放您的提交