git保留本地新文件的同时同步远程更新并上传修改
要在保留本地新文件的同时同步远程更新并上传修改,最推荐的方法是使用 git pull --rebase。
情况1
以下是标准操作步骤:
- 暂存本地修改
在拉取之前,先将本地新增的文件和修改加入暂存区。
1 | git add . |
注:如果不先 commit,拉取时可能会产生冲突。
- 拉取远程更新(使用 Rebase 模式)
使用 rebase 可以让本地提交“移动”到远程提交的最前端,保持提交历史整洁。
1 | git pull --rebase origin <分支名> |
如果没有冲突:Git 会自动合并。
如果有冲突:Git 会提示冲突文件。需要手动打开文件解决冲突,然后运行:
1
2git add <冲突文件>
git rebase --continue
- 推送修改到远程仓库
完成拉取并解决可能的冲突后,即可推送。
1 | git push origin <分支名> |
情况2
进阶场景:如果不想现在就 Commit
如果还没写完代码,不想产生一个临时的 commit,可以使用 stash(储藏):
- 储藏本地修改:
git stash(注意:新增的文件需要先git add才能被储藏,或者使用git stash -u)。 - 拉取远程更新:
git pull origin <分支名>。 - 移回本地修改:
git stash pop。 - 后续操作:修改完成后,再执行正常的
add->commit->push流程。