我在主题分支中做了一些有趣的工作。现在我想在进入主分支之前清理这些更改。所以我想把所有这些更改都放到工作树中:让工作树包含主题的分支版本,git diff
显示主分支的所有更改。
这可能吗?我该怎么做?
编辑:git merge --no-ff topic && git reset --mixed HEAD^
似乎可以解决问题。如果有人有更优雅的答案,我全都耳朵!
答案 0 :(得分:2)
不知道,如果我理解你的话
git checkout master
git merge --no-ff --no-commit topic
答案 1 :(得分:0)
我认为你要找的是git merge --no-commit --no-ff
从手册页:
使用--no-commit执行合并但假装合并失败并且执行 不自动提交,让用户有机会检查并进一步调整 提交前的合并结果。
编辑:我们还需要指定--no-ff,因为在快进合并的情况下不会创建合并提交,因此git不理解--no-commit意味着什么。
答案 2 :(得分:0)
我认为您应首先使用git rebase master
重新定义主题分支,然后使用git checkout master
切换到主分支,最后与git merge --no-ff topic
合并或快进git merge --ff-only topic
(其中主题是主题分支的名称)。