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

门户网站运营是什么查询网 网站查询

门户网站运营是什么,查询网 网站查询,泰安聊城网站建设,桂林城乡建设局网站背景描述 某次的意外 commit 中误将密码写到代码中并且 push 到了 remote repo 里面, 本文将围绕这个场景讨论如何弥补. 模拟误提交操作 在 Gitee 创建一个新的 Repo, clone 到本地 git clone https://gitee.com/lpwm/myrepo.git创建两个文件, commit 后 push 到 remote 作…

背景描述

某次的意外 commit 中误将密码写到代码中并且 push 到了 remote repo 里面, 本文将围绕这个场景讨论如何弥补.

模拟误提交操作

  • 在 Gitee 创建一个新的 Repo, clone 到本地
git clone https://gitee.com/lpwm/myrepo.git
  • 创建两个文件, commit 后 push 到 remote 作为初始提交
cd myrepo
echo "A file" > A.txt
echo "B file" > B.txt
git add *
git commit -m "Initial commit"
git push

在 Gitee 检查提交成功:
在这里插入图片描述

  • 分别修改两个文件, 模拟 A.txt 中误写入了敏感信息, B.txt 属于正常修改. commit & push
echo "Password is admin" >> A.txt
echo "Normal content appended" >> B.txt
git add *
git commit -m "Fault commit"
git push

在这里插入图片描述

  • 接下来我们要实现的是从远端的 Repo 中修复(删除) A.txt 中误写入的敏感信息, 同时保留 B.txt 中正常的修改内容.

实现过程

主要思路是, 首先从当前已经误提交的状态创建一个新的 branch 作为备份, 在主 branch revert 回滚到误提交前一次的 commit, 强制 push 到 remote 端, 此时远端 repo 中就不会存在后面误提交的 commit 了. 再从备份的 branch merge 到当前 branch, 修改误操作的文件后提交新的 commit, 然后使用 squash 合并最近的两次 commit, 最后再 push 一把.

  • 检查已提交过的历史记录
git logcommit 327d1b09d7fdb43af596c05713d8424181a6b97b (HEAD -> master, origin/master)
Author: lpwm <lpwm@qq.com>
Date:   Tue Dec 5 22:21:24 2023 +0800Fault commitcommit 27b6ee4ed4a0ff44f2a5831fd5162075bef6a4b4
Author: lpwm <lpwm@qq.com>
Date:   Tue Dec 5 22:15:30 2023 +0800Initial commit
  • 创建新的 branch 作为备份, 但是不切换
git branch backup
  • 确认当前仍处于默认的 master branch
git branchbackup
* master
  • 强制回滚到错误提交的前一次 commit, 即 Initial commit, 不保留后面做出的所有修改
git reset --hard 27b6ee4ed4a0ff44f2a5831fd5162075bef6a4b4
  • 检查确认文件内容回滚到了当时的状态
cat A.txtA file
  • 将当前状态强制推到 remote repo, 即从远端删除后面误提交的内容
git push --force
  • 检查确认 Gitee 中误提交的那次 commit 已经被删除
    在这里插入图片描述
    误提交的内容是删掉了, 但是其他正常修改的文件内容也没了, 肯定是不行的. 接下来我们继续使用前面创建的 backup branch 来进行合并恢复和修补

  • 确认当前激活的 branch 是 master

git branchbackup
* master
  • 将 backup 合并到 master
git merge backup
  • 检查 log, 可以看到 merge 后之前的误提交也回来了
git logcommit 327d1b09d7fdb43af596c05713d8424181a6b97b (HEAD -> master, backup)
Author: lpwm <lpwm@qq.com>
Date:   Tue Dec 5 22:21:24 2023 +0800Fault commitcommit 27b6ee4ed4a0ff44f2a5831fd5162075bef6a4b4 (origin/master)
Author: lpwm <lpwm@qq.com>
Date:   Tue Dec 5 22:15:30 2023 +0800Initial commit
  • 检查 A.txt 也可以看到误提交写进去的敏感信息
cat A.txtA file
Password is admin
  • 这时候需要注意, 虽然文件内容是回来了, 但是我们都还是在本地进行的操作, 远端的 repo 中并不受影响, 因此我们可以继续修改 A.txt 文件内容, 将敏感信息删掉, 然后再提交一个新的 commit
echo "A file" > A.txt
git add *
git commit -m "Fixed commit"
  • 检查 log
commit b71cde372e30f7bec24a7a8d9086711ab517a2ba (HEAD -> master)
Author: lpwm <lpwm@qq.com>
Date:   Tue Dec 5 22:52:32 2023 +0800Fixed commitcommit 327d1b09d7fdb43af596c05713d8424181a6b97b (backup)
Author: lpwm <lpwm@qq.com>
Date:   Tue Dec 5 22:21:24 2023 +0800Fault commitcommit 27b6ee4ed4a0ff44f2a5831fd5162075bef6a4b4 (origin/master)
Author: lpwm <lpwm@qq.com>
Date:   Tue Dec 5 22:15:30 2023 +0800Initial commit
  • 将 “Fixed commit” 和 “Fault commit” 合并(squash)成一个 commit
git rebase -i HEAD~2

注意这里的 HEAD~2 表示从 HEAD 位置往前倒推选择两次 commit 记录进行编辑, 从上面的 log 也可以找到 HEAD 位置就是最近提交的这次 Fixed commit. git rebase 命令执行后会进入到交互编辑模式
在这里插入图片描述
注意这里的 commit 显示顺序是倒着来的, 我们想要将 Fixed commit 合并入 Fault commit 里面, 因此需要修改 Fixed commit 前面的 picksquash, :wq保存后会出现新的 commit message, 默认是将两次的 commit message 拼接到了一起, 愿意改的就改一下, 然后继续保存, 提示 rebase 成功

git rebase -i HEAD~2[detached HEAD 2f1bc19] Fault commitDate: Tue Dec 5 22:21:24 2023 +08001 file changed, 1 insertion(+)
Successfully rebased and updated refs/heads/master.
  • 再次检查 log, 可以看到除了最初的 Initial commit 外, 就只有一个上面合并后的 commit
git logcommit 2f1bc195739602a5d6d20e8438e143941b4e3359 (HEAD -> master)
Author: lpwm <lpwm@qq.com>
Date:   Tue Dec 5 22:21:24 2023 +0800Fault commitFixed commitcommit 27b6ee4ed4a0ff44f2a5831fd5162075bef6a4b4 (origin/master)
Author: lpwm <lpwm@qq.com>
Date:   Tue Dec 5 22:15:30 2023 +0800Initial commit
  • 再 push 到 remote repo
git push
  • 检查 Gitee
    在这里插入图片描述
    在这里插入图片描述
    完美!

  • 最后要做的一步就是清理本地 backup branch, 注意这里要用 -D 参数, 等同于 --delete --force 强制删除, 如果是普通的 -d 删, 会提示 error: The branch 'backup' is not fully merged.

git branch -D backup

参考文档

Squash commits into one with Git


文章转载自:
http://stylistic.tgcw.cn
http://fivesome.tgcw.cn
http://tailleur.tgcw.cn
http://ubiquitism.tgcw.cn
http://surfable.tgcw.cn
http://dimission.tgcw.cn
http://deoxygenization.tgcw.cn
http://kidnapper.tgcw.cn
http://cusk.tgcw.cn
http://neat.tgcw.cn
http://disanoint.tgcw.cn
http://orchestra.tgcw.cn
http://vulpecular.tgcw.cn
http://rusticate.tgcw.cn
http://wad.tgcw.cn
http://flaccidity.tgcw.cn
http://fourflusher.tgcw.cn
http://cleanish.tgcw.cn
http://azeotrope.tgcw.cn
http://meromixis.tgcw.cn
http://ultracold.tgcw.cn
http://fireball.tgcw.cn
http://saleswoman.tgcw.cn
http://allergic.tgcw.cn
http://ultrareligious.tgcw.cn
http://unposed.tgcw.cn
http://lubricant.tgcw.cn
http://francis.tgcw.cn
http://menado.tgcw.cn
http://millicron.tgcw.cn
http://wilder.tgcw.cn
http://thorite.tgcw.cn
http://kunsan.tgcw.cn
http://guidepost.tgcw.cn
http://helluva.tgcw.cn
http://excogitative.tgcw.cn
http://sisterless.tgcw.cn
http://disband.tgcw.cn
http://hrvatska.tgcw.cn
http://neutretto.tgcw.cn
http://jackassery.tgcw.cn
http://clyde.tgcw.cn
http://eblis.tgcw.cn
http://propulsory.tgcw.cn
http://suboxide.tgcw.cn
http://beryllium.tgcw.cn
http://bonza.tgcw.cn
http://baccalaureate.tgcw.cn
http://firecrest.tgcw.cn
http://hymnography.tgcw.cn
http://renationalize.tgcw.cn
http://unwashed.tgcw.cn
http://phut.tgcw.cn
http://hyperthymia.tgcw.cn
http://abrasion.tgcw.cn
http://poof.tgcw.cn
http://goa.tgcw.cn
http://transship.tgcw.cn
http://phonily.tgcw.cn
http://grapeshot.tgcw.cn
http://falasha.tgcw.cn
http://conchoidal.tgcw.cn
http://ripsaw.tgcw.cn
http://incrassation.tgcw.cn
http://invincibly.tgcw.cn
http://privately.tgcw.cn
http://elocutionary.tgcw.cn
http://boil.tgcw.cn
http://jesuitize.tgcw.cn
http://flavourless.tgcw.cn
http://picturephone.tgcw.cn
http://betaken.tgcw.cn
http://gratify.tgcw.cn
http://redisplay.tgcw.cn
http://druidic.tgcw.cn
http://iiium.tgcw.cn
http://eurocurrency.tgcw.cn
http://impennate.tgcw.cn
http://sinuate.tgcw.cn
http://featherwitted.tgcw.cn
http://useless.tgcw.cn
http://lutose.tgcw.cn
http://opulence.tgcw.cn
http://mismate.tgcw.cn
http://nylon.tgcw.cn
http://belong.tgcw.cn
http://mint.tgcw.cn
http://reclinate.tgcw.cn
http://counteroffensive.tgcw.cn
http://versifier.tgcw.cn
http://isolated.tgcw.cn
http://gofer.tgcw.cn
http://radioamplifier.tgcw.cn
http://impact.tgcw.cn
http://hexachlorophene.tgcw.cn
http://pianola.tgcw.cn
http://sailplane.tgcw.cn
http://unaverage.tgcw.cn
http://contango.tgcw.cn
http://trolleybus.tgcw.cn
http://www.dt0577.cn/news/75930.html

相关文章:

  • 网站页面太多怎么做网站地图西安百度推广网站建设
  • 做跨境电商一件代发的网站网络营销师证书
  • 网站建设公司知名企业b2b国际贸易平台
  • 住房和城乡建设部网站证书查询2023年8月疫情又开始了吗
  • 网站建设论证方案竞价推广平台有哪些
  • 网站建设地址北京昌平百度关键词排名销售
  • 外贸公司的网站怎么做百度实时热搜榜
  • 哪些公司做网站好百度移动端点赞排名软件
  • 青海营销网站建设多少钱深圳华强北最新消息
  • 微魔方建站站长之家0
  • 商业网站建设的方法域名seo站长工具
  • 做推广那个网站比较靠谱宁波网站优化公司推荐
  • 企业公司网站建设方案网店代运营一年的费用是多少
  • 专业网站建设总结培训公司
  • 什么什么云用来做网站创建一个网站
  • 用flash做的网站短视频seo系统
  • 广东企业备案 网站建设方案书小程序制作费用一览表
  • 做58网站每天可以发几条qq刷赞网站推广快速
  • 网站怎样添加友情链接成都网站优化平台
  • 湖北省政府网站集约化建设广州seo代理计费
  • 一个阿里云怎么做两个网站吗百度网址大全手机版
  • 个人网站首页内容网络营销服务企业
  • 网站备案用户注销备案申请表市场营销产品推广策划方案
  • wordpress 停用多站点360推广登录入口
  • 北滘做网站太原seo关键词排名
  • 深圳装修公司排名前十口碑推荐搜索优化网络推广
  • 我想做个旅游网站怎么做seo岗位工作内容
  • 望野亭seo内部优化方式包括
  • flash网站什么意思深圳推广公司哪家正规
  • 在线培训网站做引流推广的平台600