Sourcetree如何携带指定修改切换分支及撤销已推送错误提交
Sourcetree Git 操作问题解决方案
问题1:切换分支仅携带指定修改操作步骤
- 处于branch1分支时,在未提交的文件列表中选中
editEnvironment.js、.npmrc两个需要同步的文件,右键选择「暂存文件」将这两个文件的修改暂存 - 选中剩余不需要带到branch2的
editBranch1.js、editBranch2.js等文件,右键选择「搁置」,自定义一个便于识别的搁置名称(如branch1专属业务修改),搁置后这些修改会被本地临时存储,不会跟随分支切换迁移 - 点击Sourcetree顶部的分支切换按钮,切换到branch2分支,此前暂存的两个文件的修改会自动保留在branch2的未暂存区,确认无误后可正常提交到branch2
- 后续切回branch1时,在右侧「搁置」面板找到之前存储的搁置记录,右键选择「应用搁置」即可恢复专属修改,无内容丢失
问题2:已commit+push的错误提交撤销操作步骤
- 在branch1的提交历史列表中,找到错误提交之前的最后一个正常提交记录,右键点击该记录,选择「重置当前分支到此次提交」
- 弹出的重置模式选择窗口中,选择「软合并」模式:该模式会清除错误提交的commit记录,同时完整保留所有代码修改到本地未暂存区,不会删除任何已写的代码内容
- 本地重置完成后,点击顶部「推送」按钮,勾选推送窗口左下角的「强制推送」选项,完成推送后即可覆盖远端的错误提交记录
注意:强制推送会覆盖远端分支的提交历史,操作前请确认没有其他协作者在你错误提交的时间段内向该分支提交过内容,避免覆盖他人代码 - 此时所有修改都保存在本地未暂存区,你可以自行筛选需要的内容提交,不需要的修改可直接丢弃或临时搁置,调整完成后重新正常推送即可
内容的提问来源于stack exchange,提问作者CODEforDREAM
相关产品推荐
相关产品推荐

