当前位置: 首页 > wzjs >正文

廊坊百度推广代运营网络seo优化公司

廊坊百度推广代运营,网络seo优化公司,网站制作实例教程,大同市政府门户网站一、未推送到远程仓库的提交(仅本地存在) 特点:可直接修改本地提交历史,不会影响他人 1. 保留修改重新提交 git reset --soft HEAD~1 # 操作效果: # - 撤销最后一次提交 # - 保留工作区所有修改 # - 暂存区内容保持…

一、未推送到远程仓库的提交(仅本地存在)

特点:可直接修改本地提交历史,不会影响他人

1. 保留修改重新提交

git reset --soft HEAD~1
# 操作效果:
# - 撤销最后一次提交
# - 保留工作区所有修改
# - 暂存区内容保持不变

适用场景

  • 需要修改提交信息
  • 补充遗漏的文件
  • 拆分合并提交

后续操作示例

# 修改提交信息
git commit --amend -m "新提交信息"# 或重新组织文件
git add new_file.txt
git commit -m "补充新文件"

2. 彻底丢弃修改

git reset --hard HEAD~1
# 操作效果:
# - 撤销最后一次提交
# - 清除工作区所有修改
# - 回退到上一次提交状态

适用场景

  • 完全放弃当前开发内容
  • 错误修改无法恢复
  • 需要快速回滚到稳定版本

二、已推送到远程仓库的提交(影响公共历史)

特点:需谨慎操作,避免破坏协作流程

1. 安全撤回(推荐)

git revert HEAD
git push origin main
# 操作效果:
# - 生成新提交撤销错误操作
# - 保留完整提交历史
# - 不会影响其他开发者工作

适用场景

  • 团队协作环境
  • 公共分支维护
  • 需要保留操作记录

典型案例

# 撤回指定提交(非最新提交)
git revert <commit-hash>

2. 强制撤回(危险操作)

使用 git reset --soft <正确提交哈希>
git reset --soft <正确提交哈希>
git push -f origin main

操作效果

  • 撤销错误提交:将本地分支的提交历史回退到指定的正确提交哈希处,撤销后续的错误提交。
  • 保留本地修改:工作区的文件修改内容会被保留,且之前提交的修改内容会回到暂存区,你可以重新组织提交。
  • 覆盖远程历史:通过强制推送 -f 选项,将修改后的本地提交历史覆盖到远程仓库,直接删除远程的错误提交记录。

适用场景

  • 你意识到提交有误,但希望保留本地已做的修改,后续重新整理提交。
  • 错误提交尚未被其他团队成员拉取并基于其进行开发。
使用 git reset --hard <正确提交哈希>
git reset --hard <正确提交哈希>
git push -f origin main

操作效果

  • 撤销错误提交:同样将本地分支的提交历史回退到指定的正确提交哈希处,撤销后续的错误提交。
  • 清除本地修改:与 --soft 不同的是,--hard 会清除工作区和暂存区的所有修改,使其回到指定提交时的状态。
  • 覆盖远程历史:通过强制推送 -f 选项,将修改后的本地提交历史覆盖到远程仓库,直接删除远程的错误提交记录。

适用场景

  • 你确定不需要保留当前工作区和暂存区的修改,希望完全回退到之前的某个正确状态。
  • 错误提交包含敏感信息或严重错误,必须彻底删除。

注意事项
无论是使用 --soft 还是 --hard 进行强制撤回,这两种强制推送操作都有较高风险,因为它们会直接覆盖远程仓库的提交历史。如果团队中的其他成员已经基于远程仓库上包含错误提交的版本进行了开发,那么他们在拉取代码时可能会遇到冲突。因此,在执行强制推送之前,一定要和团队成员沟通协调,确保大家都知晓并做好相应的准备。同时,建议在操作前备份重要数据,以防意外情况发生。

三、操作效果对比表

场景保留修改历史记录风险等级推荐指数
未推送撤回(soft)✔️可修改★★★★★
未推送撤回(hard)可修改★★☆☆☆
已推送撤回(revert)✔️新增提交★★★★☆
已推送撤回(强制 - soft)✔️覆盖历史★★☆☆☆
已推送撤回(强制 - hard)覆盖历史★☆☆☆☆

四、关键命令流程图

提交错误 → 检查是否推送 → ├─ 未推送 → git reset --soft(保留修改)/ git reset --hard(丢弃修改)└─ 已推送 → git revert(安全)/ git reset --soft(保留修改强制)/ git reset --hard(丢弃修改强制)

五、最佳实践建议

  1. 优先使用git revert
    # 撤回多个提交
    git revert <start-commit>..<end-commit>
    
  2. 强制推送前验证
    # 查看远程分支状态
    git remote show origin
    
  3. 提交前检查
    # 使用暂存区分块提交
    git add -p
    

六、常见问题解决方案

Q1:使用git revert后如何删除多余提交?

# 通过变基清理提交历史
git rebase -i HEAD~3

Q2:误操作git reset --hard后如何恢复?

# 查找最近提交哈希
git reflog
git checkout <commit-hash>

Q3:强制推送后他人无法拉取?

# 建议他人执行
git fetch --all
git reset --hard origin/main
http://www.dtcms.com/wzjs/435829.html

相关文章:

  • 网站建设必要性产品宣传推广方式有哪些
  • 深圳电子商务网站建设怎么制作自己的网站网页
  • 手机赚钱网站大全长沙竞价优化
  • 网站建设中最重要的环节北京seo优化厂家
  • wordpress收款插件seo难不难
  • 怎么在建设银行网站留言深圳网络推广工资
  • 网站建设费会计处理外链下载
  • 长沙做网络推广哪家好seo基础培训机构
  • 重庆建站公司费用快排seo排名软件
  • 自己做的网站只能打开一个链接品牌营销网站建设
  • 郴州网站建设百度系优化
  • 石景山网站建设推广防恶意竞价点击软件
  • 重新安wordpress网站深圳网站建设找哪家公司好
  • 做网站和做免费推广网站的区别宁波seo网络优化公司
  • 我想给图书网站做代理怎么优化网站关键词排名
  • wordpress cdn优化seo应该怎么做
  • 如何申请免费网站空间杭州seo代理公司
  • 佛山中英文网站制作网站建设平台官网
  • 网站宣传的方法主要有成都高薪seo
  • 洛阳建站公司效果百度一下你就知道了 官网
  • 常平网站建设公众号怎么引流推广
  • 企业网站建设运营方案谷歌浏览器官网手机版
  • 网站建设犭金手指a排名15seo上首页
  • 大连做公司网站哪家好风云榜小说排行榜
  • 广东专业移动网站建设哪家好什么网站做推广比较好
  • 昆明网站建设报价技能培训机构
  • asp 网站数据库连接错误个人怎么创建网站
  • 有了ddns怎么建设网站福州百度推广排名
  • 虾皮跨境电商app下载seo网站排名查询
  • 昆山网站建设培训班seo专员是干什么的