首页 / 如何在Git中将更改移动到另一个分支

如何在Git中将更改移动到另一个分支

2024/12/12 03:15:15
Git通过分支组织更改,但错误提交可能导致问题。移动未提交更改使用`git checkout`切换分支。纠正已提交错误,先进行软重置,然后切换分支。如果提交错误,可以使用`git reset`撤销,或使用`git cherry-pick`将提交移动到新分支。
如何在Git中将更改移动到另一个分支
快速链接移动更改(如果你还没有提交)移动提交(如果你已经提交)总结Git通过分支来组织更改,但错误的提交可能会导致问题。要移动更改,请使用“git checkout ”命令切换分支。要纠正已提交的错误,在切换之前进行软重置,以便更改尚未提交。在第一段下方找不到获胜广告!

虽然Git会跟踪你的日常更改,但它还具有帮助你组织的系统,如分支。然而,如果你不小心,可能会遇到问题,如错误地提交到错误的分支,这可能需要正确的命令才能解决。

在内容中找不到获胜广告!

移动更改(如果你还没有提交)

Git会监控整个文件夹,但对文件的更改直到你提交它们才与特定的Git分支相关联。你可以移动分支,并将这些更改带在身边。

最简单的方法是简单地切换分支,但这只有在你要切换的两个分支有匹配的历史记录时才有效:

git checkout feature

你可以通过几种方式绕过这个问题。第一种方法是创建一个新分支,然后合并分叉的历史记录:

git checkout -b tempfeaturegit checkout featuregit merge tempfeature

你也可以使用git stash来存储更改以便稍后使用,并在新分支上重新应用它们:

git stashgit switch featuregit stash apply

移动提交(如果你已经提交)

如果你已经提交了更改,不要担心;你可以随时进行软重置,这样提交的更改在推送到远程源控制之前不是最终的。如果你已经这样做了,你仍然可以解决问题,但你的错误记录将会留在你的Git历史记录中,所以最好在同事看到它之前在本地进行修复。

要撤销提交,你可以简单地进行软重置,通常只是撤销最后一次提交,但你也可以传递一个提交ID的引用:

git reset HEAD~1

这将使你回到“还没有提交”的状态,之后你可以使用上述方法来修复问题。

另一种方法是使用git cherry-pick。这个命令将提交从一个分支复制到另一个分支,并是一种干净的方式,可以挑选提交并将其移动到新的分支。

运行git log来找到你想要撤销的提交的ID:

git log

然后切换到feature分支,假设你的更改已经提交,然后运行cherry-pick:

git switch featuregit cherry-pick

之后,主分支上仍然会有一个重复的提交。如果你的feature分支处于正确顺序,你可以重置它并丢弃更改,或者保持它并让Git在合并时处理它。

如果你想了解更多关于使用Git的知识,可以阅读如何始终知道你在哪个分支,或者看看你是否知道所有基本的Git命令。