不知何故,我在最近的pull请求中获得了主分支的整个提交历史记录。我的PR包含这样一条消息:
This pull request is big! We’re only showing the most recent 250 commits.
我有一个分支,它有很多功能。这是一个用于测试的工作分支。我必须将该分支分解为单独的拉取请求,并将每个PR作为单独的功能,以便可以对其进行审查。有一些具有不同功能的交叉点,因此这些独立的分支将不会起作用。
我从master分支,然后与我最新的工作分支进行未提交的合并。我挑选出我想要合并的与该功能相关的文件。这些PR并不是互相建立起来的。每个都将是master的最新版本,但彼此不是。
似乎正在发生的情况是,目标分支正在获取工作分支的整个历史记录。我怎样才能避免这种情况发生呢?rebase能解决这个问题吗?
发布于 2016-07-20 06:04:20
,这是一种倒退。我在一个工作分支上开发了一系列功能。然后,我返回到主分支,并使用SourceTree与工作分支进行未提交的合并。这使我能够控制将哪些文件放入合并。我为每个功能创建了一个单独的分支。如果我可以精挑细选单个文件而不是整个提交,我就不必这样做了。
即使你没有提交合并提交,你仍然有你的工作分支的头作为你的父级之一,因此带来了它的历史。
我认为你可以使用git reset做任何你想做的事情,但是一个简单得多的选择是创建另一个克隆,检查那里的工作分支,并将所有文件复制到您的签出中,该文件位于主分支上。然后,你可以展示任何你想要的更改,并将它们形式化成适当的提交。
如果你的提交是原子的,这将会容易得多,因为如你所说,你可以简单地选择提交。在组织提交之前做一些工作可以节省大量的时间,这样以后就可以尝试将它们分开。
https://stackoverflow.com/questions/38464926
复制相似问题