在 Git 中,如果你想保留本地的修改(包括未提交的更改或已暂存的更改),同时让本地分支的状态与远程分支完全同步,可以按照以下步骤操作:
方法 1:使用 git stash(推荐)
适用于保留未提交的修改(包括工作区和暂存区的改动)。
暂存本地修改
将当前未提交的改动保存到 Git 的“储藏区”(Stash):git stash push -u -m "保存本地修改"-u:包含未跟踪的文件(新增的文件)。-m:添加备注信息。
同步远程分支
拉取远程最新代码并强制重置本地分支:git fetch origin <远程分支名> git reset --hard origin/<远程分支名>例如:
git fetch origin main git reset --hard origin/main恢复本地修改
将之前储藏的改动重新应用到工作区:git stash pop如果存在冲突,需手动解决冲突后提交。
方法 2:创建临时分支
适用于需要保留已提交但未推送的修改。
创建临时分支保存当前状态
git branch temp-branch切换回原分支并同步远程
git checkout <你的目标分支> # 如 main/master git fetch origin <目标分支> git reset --hard origin/<目标分支>合并或提取临时分支的修改
通过cherry-pick或合并临时分支来恢复需要的提交: “`bash git cherry-pick# 选择特定提交 或 git merge temp-branch # 合并所有改动(可能需解决冲突) 删除临时分支(可选)
git branch -D temp-branch
注意事项
git reset --hard会丢弃所有未提交/未储存的更改,操作前确保已备份。- 如果存在冲突,需手动解决后再提交。
- 如果是协作项目,谨慎使用强制重置(
--hard),避免影响他人。
根据你的需求选择合适的方法即可!
内容由零声教学AI助手提供,问题来源于学员提问




