git 123

2026-01-05
‌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)适用于需保持提交历史线性的场景。
相关内容
上一页: docker使用
下一页: 没有下一页了
最新

坚持的力量

wordpress建站,视频剪辑拍摄,动画制作