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

虽然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命令。
分类
最新文章
- <p><strong>Satechi SM3 机械键盘测评:安静高效的生产力利器</strong></p>
- This old mobile phone has become a fire hazard right before my eyes.
- <p>苹果日历的邀请函:与苹果待办事项有10种不同之处</p>
- <p><strong>苹果的工作:</strong> 2025 年苹果会发布一个与谷歌 Workspace 竞争的产品吗?</p>
- <p>苹果不太可能会举办特别活动来宣布 iPhone SE 4。</p>
- Today's New York Times Crossword Puzzle Clues and Answers (#608)
- Ubuntu 20.04 LTS 的支持即将到期。
- <p>读书清单太长了吗?让 AI 为您朗读。</p>
- This is my holy grail Blu-ray player.
- <p>Apple will release new products next week. Here's what's coming.</p>