1. 暂存本地修改并拉取远程更新 bash Copy Code # 暂存本地修改(包括暂存区和工作区的变更) git stash # 拉取远程更新 git pull # 恢复暂存的修改(解决冲突后) git stash pop 优点:保留服务器上未提交的修改,避免数据丢失,适合需保留服务器变更的场景。 操作步骤: git stash:暂存所有未提交的修改。 git pull:尝试拉取远程更新,若冲突会自动标记。 git stash pop:恢复暂存的修改,Git 会提示冲突文件(如 application/extra/site.php)。 解决冲突:手动编辑冲突文件(标记为 <<<<<<<、=======、>>>>>>>),保留所需内容后保存。 git add <冲突文件>:标记冲突已解决。 git commit:提交合并结果。 若冲突解决后仍需暂存修改,可重复 git stash pop。 2. 放弃服务器修改并强制拉取 bash Copy Code # 放弃所有未提交的修改(包括暂存区和工作区) git restore --staged . git restore . # 强制拉取远程更新(覆盖服务器所有变更) git fetch --all git reset --hard origin/main 优点:直接覆盖服务器所有未提交的修改,适合临时回滚服务器状态。 风险:会丢失服务器上所有未提交的修改(包括未暂存的变更),需谨慎操作。 操作步骤: git restore --staged .:取消暂存所有文件。 git restore .:恢复所有文件到上次提交状态(丢弃所有未提交的修改)。 git fetch --all:获取远程最新状态。 git reset --hard origin/main:强制重置到远程主分支状态。 3. 使用 git pull --rebase 保持线性历史 bash Copy Code # 暂存本地修改(同上) git stash # 使用 rebase 拉取更新(保持线性提交历史) git pull --rebase # 恢复暂存的修改 git stash pop 优点:避免合并提交,保持提交历史线性,适合需保持提交顺序的场景。 操作步骤: 暂存修改后执行 git pull --rebase,若冲突会自动标记。 解决冲突后提交合并结果(同上)。 关键操作说明 冲突解决:手动编辑冲突文件时,保留所需版本并删除冲突标记(<<<<<<<、=======、>>>>>>>)。 标记冲突已解决:使用 git add <冲突文件> 标记冲突文件为已解决,然后提交合并结果。 预防措施:建议在服务器上使用 git stash 暂存修改,避免直接覆盖未提交的变更。 注意事项 备份重要修改:若需保留服务器修改,优先使用 git stash 暂存。 冲突优先级:本地推送的修改优先级高于服务器未提交的修改,冲突时需手动选择保留版本。 强制操作风险:git reset --hard 会丢弃所有未提交的修改,需谨慎操作。 推荐方案:若需保留服务器修改,优先使用方案1(暂存并拉取)。若需快速回滚服务器状态,可选择方案2(强制拉取)。方案3(rebase)适用于需保持提交历史线性的场景。
坚持的力量
wordpress建站,视频剪辑拍摄,动画制作