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

网站后台忘了陕西西安网络公司

网站后台忘了,陕西西安网络公司,wordpress 主题 mip,网站开发技能有哪些以下是 Git 高阶命令分享,涵盖高效协作、历史重构、问题排查等场景,助你成为 Git 高手: 一、历史重构与清理 1. 交互式变基(改写历史) git rebase -i HEAD~3 # 修改最近3次提交操作选项: reword&#xff1…

以下是 Git 高阶命令分享,涵盖高效协作、历史重构、问题排查等场景,助你成为 Git 高手:

一、历史重构与清理

1. 交互式变基(改写历史)
git rebase -i HEAD~3  # 修改最近3次提交

操作选项:

  • reword:修改提交信息
  • edit:暂停修改提交内容
  • squash:合并到前一个提交
  • drop:删除提交

用途:合并琐碎提交、修改历史信息、清理无用提交。

2. 彻底删除历史文件(敏感信息清理)
git filter-repo --path <file> --invert-paths  # 从所有提交中删除文件

注意:需先安装 git-filter-repo(非内置命令),适用于清理密码、大文件等。


二、精准提交操作

1. 选择性提交(部分暂存)
git add -p  # 交互式选择代码块暂存
  • s 拆分代码块,y/n 决定是否暂存
  • 用途:将同一文件中的多个修改拆分成不同提交。
2. 拣选提交(移植特定提交)
git cherry-pick <commit_id>  # 将指定提交应用到当前分支
git cherry-pick -x <commit_id>  # 保留原提交信息(推荐)

场景:修复 Bug 时,将补丁从开发分支移植到生产分支。


三、高级撤销与修复

1. 引用日志(找回误删提交)
git reflog  # 查看所有 HEAD 变更记录
git reset --hard HEAD@{2}  # 恢复到 reflog 中的第2个状态

救急:找回 reset --hard 删除的提交或误删分支。

2. 修复提交(修改最后一次提交)
git commit --amend        # 修改最后一次提交信息
git commit --amend --no-edit  # 只修改提交内容(不改变信息)

技巧:先 git add 修改文件,再 amend 可避免产生新提交。


四、复杂合并与冲突处理

1. 三方合并(解决多分支冲突)
git merge -s recursive -Xours <branch>  # 冲突时优先保留当前分支代码
git merge -s recursive -Xtheirs <branch> # 冲突时优先保留目标分支代码

适用场景:批量处理大量冲突(如合并长期分支)。

2. 使用 rerere 自动解决重复冲突
git config --global rerere.enabled true  # 开启自动冲突记忆
  • 首次手动解决冲突后,Git 会记住方案,后续相同冲突自动解决。

五、深度排查与调试

1. 二分法定位问题提交
git bisect start          # 开始二分查找
git bisect bad            # 标记当前提交有问题
git bisect good <commit>  # 标记已知正常的提交
# Git 自动切到中间提交 → 测试后标记 good/bad → 最终定位问题提交
git bisect reset          # 结束查找
2. 追踪代码行历史
git blame -L 20,30 <file>  # 查看文件第20-30行的修改记录
git blame -C <file>        # 识别从其他文件移动来的代码

六、子模块管理(多仓库协作)

git submodule add <repo_url> <path>  # 添加子模块
git submodule update --init --recursive  # 初始化并更新子模块
git clone --recurse-submodules <repo_url>  # 克隆时包含子模块

用途:在项目中嵌套其他仓库(如公共组件库)。


七、高级配置与钩子

1. 自定义钩子(自动化操作)
# 在 .git/hooks/ 中创建可执行脚本
pre-commit    # 提交前检查代码规范
post-receive  # 推送到远程后触发部署

示例:用 pre-commit 钩子自动运行 ESLint 检查。

2. 配置别名(简化命令)
git config --global alias.st "status -s"
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'"

用法git st 代替 git status -sgit lg 查看美观日志。


八、性能优化

1. 部分克隆(减少仓库体积)
git clone --filter=blob:none <repo_url>  # 不下载文件对象(仅需时拉取)

适用场景:大型仓库(如含大量二进制文件)。

2. 稀疏检出(只获取部分目录)
git clone --sparse <repo_url>
git sparse-checkout set dir1 dir2  # 指定需要检出的目录

九、危险操作(谨慎使用!)

1. 强制推送覆盖历史
git push --force-with-lease  # 比 --force 安全(检查远程是否被他人更新)

原则:仅限私有分支,公共分支需团队协商。

2. 彻底重置分支
git reset --hard <commit> && git push --force  # 丢弃所有后续提交

警告:会破坏协作分支,必须提前通知所有协作者!


十、高阶工作流

1. 补丁工作流(跨仓库提交)
git format-patch -1 <commit>  # 生成 .patch 文件
git am < patch_file           # 应用补丁

场景:给开源项目提交代码(邮件发送补丁)。

2. 多分支同步维护
# 将 hotfix 同时应用到多个分支
git rebase --onto main hotfix~5 hotfix  # 重构 hotfix 分支基线
git checkout feature
git rebase hotfix                      # 将 feature 分支基于新 hotfix

总结:高阶命令核心价值

命令核心作用
rebase -i历史重构(合并/修改/删除提交)
filter-repo彻底清理历史文件
bisect高效定位问题提交
cherry-pick -x精准移植提交
reflog找回误操作记录
submodule管理嵌套仓库
sparse-checkout部分检出大仓库

掌握这些命令后,你将能:

  • ✅ 优雅管理复杂历史
  • ✅ 高效解决团队协作问题
  • ✅ 精准控制代码变更
  • ✅ 深度优化仓库性能

最后忠告:高阶命令往往伴随风险,操作前务必:

  1. 备份重要分支
  2. 确认操作影响范围
  3. 团队协作时提前沟通!
http://www.dtcms.com/a/456271.html

相关文章:

  • 四川住房和城乡建设局网站外贸网站平台都有哪些平台
  • 龙华做网站 熊掌号网站上的站点地图链接是这么做的
  • 网站按条件显示广告图片广州中山手工外发加工网
  • 怎么给自己公司做网站网站分析与优化
  • 烟台网站制作工具wordpress 重复内容
  • 莱西网站建设产品图案设计网站
  • 英语网站 php源码工程建设标准网站
  • 做网站旅游销售死链对网站的影响
  • 黑龙江做网站公司编写网站用什么语言
  • 如何上传到自己的网站网套加工机器设备
  • 赣州网站开发我做的网站怎样推广的
  • 个人网站备案填写wordpress图片属性添加
  • 免费建站微信18款禁用网站app直播
  • 东莞市企业网站制作平台苏州网站开发建设公司
  • 外贸网站 wordpress西安建网站
  • 网站如何清除百度收录开网店详细步骤流程
  • 中国网站服务器哪个好北京免费建网站
  • 柳州专业网站推广公司厦门建设局举报投诉
  • 洛阳网站建设设计公司哪家好店铺外卖网站怎么做
  • 浙江新地标建设集团网站电商网站开发可行分析
  • 建材做网站好吗网站建设南沙
  • 用ps个人网站怎么做小米开发者模式怎么关闭
  • 网站建设 服饰鞋帽个人网站开发总结文档
  • 用织梦做网站快吗编程是什么东西
  • 杭州网站制作模板谎称在网站网站做维护
  • APP网站建设什么用处山西住房和城乡建设部网站
  • 怎么给客户推网站建设jsp网站开发文献
  • 中文域名怎样绑定网站域名注册要求
  • 什么是网络营销的渠道策略河南做网站优化
  • 网站套利怎么做有没有专业做挂的网站吗