Git操作与敏感信息处理笔记

Git 操作笔记

退回到某个版本

1. 使用 git checkout (暂时退回)

  • 命令:
    git checkout 
  • 例如:
    git checkout abc1234

2. 使用 git reset (永久回退)

  • 保留工作目录的改动:
    git reset --soft 
  • 回退提交并保留文件:
    git reset --mixed 
  • 完全回退并删除改动:
    git reset --hard 
  • 例如:
    git reset --hard abc1234

3. 使用 git revert

  • 生成新提交以恢复之前状态:
    git revert 

GitHub Push 被阻止

  • 错误信息: 包含敏感信息(如API密钥)
  • 解决步骤:
    1. 删除敏感信息: 从代码中移除并使用环境变量代替。
    2. 重写提交历史:
      git filter-branch --force --index-filter 
      "git rm --cached --ignore-unmatch " 
      --prune-empty --tag-name-filter cat -- --all
    3. 压缩存储空间:
      git for-each-ref --format="delete %(refname)" refs/original | git update-ref --stdin
      git reflog expire --expire=now --all
      git gc --prune=now
    4. 重新提交:
      git add 
      git commit -m "Remove sensitive information"
    5. 强制推送:
      git push --force

撤销已包含敏感信息的提交

1. 使用 git reset

  • 命令回退到特定提交:
    git reset --soft HEAD~2  # 取消上上的提交

2. 使用 git rebase

  • 启动交互式 rebase:
    git rebase -i HEAD~3
  • 修改需要编辑的提交为 edit,然后保存退出。
  • 修改文件,提交更改:
    git add 
    git commit --amend
  • 继续 rebase:
    git rebase --continue

3. 强制推送修改后的历史

git push --force

小结

  • git checkout: 临时回退,不影响提交历史。
  • git reset: 永久回退,可选择保留或丢弃改动。
  • git revert: 生成新提交以恢复无需丢失历史。
  • 在处理敏感信息时,务必删除和清理历史,并且进行强制推送。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇