使用新提交从一个分支到另一个分支进行更改

时间:2015-08-21 14:05:01

标签: git

想象一下,你有一个名为feature-x-alpha的分支,你做了很多提交并达到了预期的状态。但是,由于你匆忙,这些提交和它的消息推动有点奇怪。

由于您有一个分支feature-x,您可以更改为此分支并对feature-x-alpha进行本地更改,现在您可以使用此更改执行一些新的更有组织的提交。显然,由于这被视为不同(尽管有一些结果),您可能会删除分支feature-x-alpha

您可以使用命令

feature-x-alpha上实现此目的
git symbolic-ref HEAD refs/heads/feature-x

将您更改为分支feature-x,但不会更改工作目录的文件。

在我看来,symbolic-ref命令可以正常工作,但是这3个命令似乎也提供了相同的结果。

git symbolic-ref HEAD refs/heads/my-branch

git reset my-branch 

git read-tree my-branch

我想了解这三个命令的不同之处,哪一个更适合这种用法(更改当前分支而不更改工作目录的文件,或类似的东西会将我的工作目录更改为另一个的状态除了当前的分支。)

1 个答案:

答案 0 :(得分:0)

你可以使用更高阶的命令吗?像这样:

git checkout feature-x
git merge --squash feature-x-alpha
git commit -m "alpha"
git branch -D feature-x-alpha