惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V2EX - 技术
V2EX - 技术
L
LangChain Blog
IT之家
IT之家
S
SegmentFault 最新的问题
博客园 - 三生石上(FineUI控件)
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
The Blog of Author Tim Ferriss
Blog — PlanetScale
Blog — PlanetScale
N
Netflix TechBlog - Medium
U
Unit 42
B
Blog RSS Feed
GbyAI
GbyAI
Microsoft Security Blog
Microsoft Security Blog
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
T
Threatpost
C
CERT Recently Published Vulnerability Notes
Cisco Talos Blog
Cisco Talos Blog
The Register - Security
The Register - Security
Vercel News
Vercel News
S
Schneier on Security
Spread Privacy
Spread Privacy
C
Cyber Attacks, Cyber Crime and Cyber Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
博客园 - 叶小钗
雷峰网
雷峰网
博客园_首页
人人都是产品经理
人人都是产品经理
P
Palo Alto Networks Blog
The Hacker News
The Hacker News
T
Tor Project blog
L
Lohrmann on Cybersecurity
Know Your Adversary
Know Your Adversary
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Cybersecurity and Infrastructure Security Agency CISA
P
Privacy International News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tenable Blog
V
Vulnerabilities – Threatpost
大猫的无限游戏
大猫的无限游戏
博客园 - 【当耐特】
V
V2EX
Security Latest
Security Latest
A
About on SuperTechFans
Cloudbric
Cloudbric
S
Security Affairs
MongoDB | Blog
MongoDB | Blog
Y
Y Combinator Blog
Martin Fowler
Martin Fowler
TaoSecurity Blog
TaoSecurity Blog

git

请教一个诡异的 git 问题 - V2EX 有一个 git 仓库合并问题,不知道怎么办才好 分析一个技巧让同事不知道我使用了 ai : git 忽略本地改动文件,实现不提交 Rebased, 一个 git 客户端 发现一个邪修快速清理 Git 项目里面空文件夹的方法🤡 不知道有没有什么其他标准做法. - V2EX zig 写的 100kb 的 wasm 可以 http 读写任意 git 仓库 - V2EX 有人把 IDEA 的 git 客户端做出来了 问个关于 rebase 和 github pr 的奇怪的问题 - V2EX idea 同款 git 客户端求推荐 - V2EX 有没有类似 JB 家的 Git 管理工具 - V2EX 大家自己的代码都是放在哪儿 - V2EX 分享一个在 Linux 上编译静态 Git 二进制的项目 - V2EX 上亿的 git 仓库如何做冷热存储分离呢 - V2EX 发现了一个极度臃肿的项目 - V2EX 有什么支持直接连接远程主机 git 仓库的 GUI 工具吗 - V2EX KFCode 官网上线,做好用、靠谱、有趣的 Git 托管平台 - V2EX git 工作流,大家现在用的什么样的? - V2EX 很奇怪的一个现象,有没人知道是怎么回事,所有 LLM 都说 100%不会出现 - V2EX 我宣布,最好的 git 客户端是腾讯家的 ugit - V2EX Fork 付费版有什么不同? - V2EX 一位高级工程师的 GIT 需要熟悉到什么程度? - V2EX 已经 push 到远程仓库的提交,如何修改某个用户的所有提交的邮箱啊 - V2EX [求助下] 关于代码同步问题 - V2EX 一直不理解 Windows 下 git 的这个逻辑,我自己 clone 的仓库还不能删了? rm -force 也不行 - V2EX 分享一个 Git 存储库治理利器 - hot - V2EX 代码有没有必要备份到多个远程仓库?比如 github 和 codeup。有必要的话最好怎么备份? - V2EX git 中如何将子分支的多个提交作为一个提交合并到主分支? - V2EX git 切换分支问题 - V2EX git 各种命令执行很慢是什么原因导致的? - V2EX 有没有大佬指导一下 git 问题 - V2EX git remotes 分支克隆 - V2EX 两处修改需要分开提交吗? - V2EX 问个 Git 基操:怎么样复制一个文件,能保持历史记录? - V2EX Linux 的 Ubuntu 系统有类似 Sourcetree 或者 fork 这种 git 图形化操作的客户端工具吗 - V2EX 关于刚刚 git 的问题描述的不清楚,不能编辑主题了,重新发下问题: git 如何对比服务器上最新的代码和本地的区别? git diff 对比和我预想不一样 - V2EX git 新手求教: git 如何对比服务器上最新的代码和本地的区别?不是本地远端和本地 working。 svn 可以使用 show log,直接对比,调用 beyond compare 很方便。 - V2EX 对上游提 pr,上游的管理员觉得 pr 里面的功能他不需要或者不满意 - V2EX gitee fork 时继承推送规则是否合理? - V2EX 请教各位关于 Git 合并的问题 - V2EX 请教大家一个测试环境代码合并的问题 - V2EX 推送远程仓库导致本地提交记录消失,如何找回 - V2EX 给上游 pr,自己应该先 pr 到自己的 main 分支吗? - V2EX 请教一个开发流程中 GIT 解决冲突的问题 - V2EX 求教:在 fork 的仓库上添加不太可能被 upstream 接受的修改,是不是应该在新开的 branch 上开发? - V2EX 有哪个 git 的 gui 软件。可以像 idea 的 git 管理那样查看文件历史和代码冲突?现在换到了 cursor,但是这边的代码管理个人用的太不习惯了。 - V2EX git clean 还能找回吗 - V2EX 求助 git 自动 merge 丢代码 - V2EX 码云代码自动同步到 github - V2EX 请教大家这样的项目应该要怎么做 git 管理 - V2EX 从本地提交代码到 gitlab 后, diff 异常问题,求大佬解惑 - V2EX 在 Git 中,已知某一个分支的某个 Commit 引入了一个 bug,如何快速确定这个 bug 是经过哪些分支流转到 master 分支的? git rebase 那么重要么??? 如何在 git 提交前将生产版本和开发版本的配置进行区分 开源了个新的版本控制系统 HugeSCM,请 V 友们指导 Git Permission denied 问题求助
请教 git 里怎么删除记录 - V2EX
rrubick · 2025-09-01 · via git

这是一个创建于 286 天前的主题,其中的信息可能已经有所发展或是发生改变。

请大佬指点:

分支情况如下图:

  1. 1 创建新的 test 分支
  2. test 分支上分别进行了 2 3 提交
  3. merge test to release 的时候产生了 4提交
  4. 删除了 test 分支

我现在想回退到 2来删除 3 4记录,是否能做到?如果可以的话,应该在哪个分支执行什么 git 命令。

第 1 条附言  ·  2025 年 9 月 1 日

AI 让我执行了 git reflog expire --expire-unreachable=now --expire=now --all,现在git reflog 被清空了,这个问题算是 “解决了”😂

  • git
  • 删除记录
  • 回退

    25 条回复    2025-09-02 11:35:01 +08:00

    FinnBai

    1

    FinnBai      2025 年 9 月 1 日

    git reflog 查看记录

    git reset 重置当前状态

    avenger

    2

    avenger      2025 年 9 月 1 日

    去看 git rebase 的文档

    I2E

    3

    I2E      2025 年 9 月 1 日

    git reset --hard 2 的 commit id

    cc666

    4

    cc666      2025 年 9 月 1 日

    这种问题可以直接问 AI

    AI 大概会问你你到底想干什么

    rrubick

    5

    rrubick      2025 年 9 月 1 日

    @avenger #2
    git rebase 可以把 release 上从 4 回退到 1 ,但是由于我删除了 test 分支,所以不知道怎么删除 3

    yaocf

    6

    yaocf      2025 年 9 月 1 日

    前提:只有你一个人,或者,你可以说动协作开发的其他成员进行强制拉取。

    首先,请保持工作区干净
    即:
    `git status`提示当前无修改

    步骤一
    向前软重置一步。重复执行,直到退到记录 1
    git reset --soft HEAD^1
    或者是直接一步到位退到记录 1
    git reset --soft ${记录 1 的 commit id}

    步骤二
    提交当前工作区
    git commit ${可以填写记录 2 的提交信息,也可以顺带标注一下回退原因}

    步骤三
    强制 push ,覆盖远端
    git push --force

    步骤四
    如果有协作开发的同学,揖让让他们拉一下新的远端再接着开发。

    yaocf

    7

    yaocf      2025 年 9 月 1 日

    @yaocf 这个前提只针对 test 分支。也就是如果只有你一个人在 test 分支,就无所谓。

    rrubick

    8

    rrubick      2025 年 9 月 1 日

    @cc666 #4
    问了 claude
    `I have a git branch named `release`.
    I create a new branch `test` from `commit1`, then create `commit2` and `commit3`.
    Then back to `release`, merge `test` to `release` with a new `commit4`.
    Then deleted the `test` branch.

    Now I wanna :
    1. remove the `commit3` and `commit4` records
    2. check out new branch on `commit2` to prepare merge
    3. reset branch `release` to `commit1`
    think harder
    4. show which branch is when running git commands`
    但是它给的答案达不到我想要的效果

    rrubick

    9

    rrubick      2025 年 9 月 1 日

    @yaocf #7
    这个 test 是我本地分支没有提交过远端,而且我本地也已经删除了这个分支。这是我麻烦的点。

    LGA1150

    10

    LGA1150      2025 年 9 月 1 日   ❤️ 1

    git rebase -i 1 的 commit id
    然后 git 会打开一个编辑器,含有 2 和 3 的 commit
    把 3 所在的行的 pick 改为 drop ,保存退出
    ( rebase 不会保留 merge 记录,所以顺带删除了 4 )

    Ipsum

    11

    Ipsum      2025 年 9 月 1 日 via Android

    先到 4 然后软重置到 2 ,接着 commit 后 force push

    benjen000

    12

    benjen000      2025 年 9 月 1 日 via Android

    rebase 来合并提交然后强推

    choah

    14

    choah      2025 年 9 月 1 日

    只要 commit id 还在,reset --hard 基本万能的

    wenrouxiaozhu

    15

    wenrouxiaozhu      2025 年 9 月 1 日

    @magic3584 #5 先 reset release 分支,然后从 2 的 commit id 切出来一条新分支...
    剩下的就是看你需求了,在 release 分支执行 merge test / merge test -no-ff

    Rickkkkkkk

    16

    Rickkkkkkk      2025 年 9 月 1 日

    如果是删除,git reset --hard

    jayasme

    17

    jayasme      2025 年 9 月 1 日

    git merge --squash ,会将分支中的所有 commit 组合为一个然后合并

    857681664

    19

    857681664      2025 年 9 月 1 日

    @magic3584 本地删除了分支也没事,用 git reflog 能看到过往历史,找到 test 分支的过往 commit hash 后,再用 git reset 之类的修改提交就好了

    SethShi

    20

    SethShi      2025 年 9 月 1 日

    新建分支
    cherry-pick 2
    合并

    shily

    23

    shily      2025 年 9 月 1 日

    #8 假设 OP 想移除 3 、4 号提交,并重新建立 release 分支。

    1.1 git tag tag-1 1 号提交的 hash
    1.2 git tag tag-2 2 号提交的 hash
    2. git branch --D release # 强制删除分支
    3. git checkout tag-1 -b release # 使用 1 号提交的 hash 重新拉出 release
    4. git merge tag-2 # merge 2 号提交到 release 分支

    sampeng

    24

    sampeng      2025 年 9 月 1 日   ❤️ 1

    开发群里大喊一声: “所有人别提交代码。我要变身了”。
    然后修复本地的代码树,push 。再大喊一声:"变身完毕,都拉一下吧"

    lonenol

    25

    lonenol      2025 年 9 月 2 日

    从 4 新拉一个分支 A ,A 分支上回退到 2

    release 分支回退到 1 ,git push -f 这样远程和本地都到了 1 ,

    然后把 A 分支 merge 到 release 分支 ,push 到远程

    注意一下这个操作需要让同事把本地分支 reset 到 1 ,然后重新拉下远程分支。