V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nutting
V2EX  ›  程序员

GIT 求救

  •  
  •   nutting · 2022-06-28 21:31:37 +08:00 · 1878 次点击
    这是一个创建于 879 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天研究 rebase ,merge ,在 idea 的界面执行了很多操作,一会儿 master 到 a ,一会儿 a 到 master ,结果最后发现这些操作都跑进了 A 分支里的 push 里面,我就疯了,然后 reset hard 也去不掉,这有啥办法没

    8 条回复    2022-06-29 22:02:08 +08:00
    nutting
        1
    nutting  
    OP
       2022-06-28 21:43:21 +08:00
    我是说进入了待 push 的列表里。难道只能彻底重新 checkout 项目或者弃用这个分支?
    nutting
        2
    nutting  
    OP
       2022-06-28 21:50:18 +08:00
    知道了,在分支的 remote 列表那里,重新 checkout ,会提示 drop commit ,可以了
    newaccount
        4
    newaccount  
       2022-06-29 00:01:47 +08:00   ❤️ 1
    https://learngitbranching.js.org
    看完 cherry-pick 就差不多了。能类比到对 git 历史的操作无非是摆弄树节点就够了,剩下的一通百通。IDEA 的界面在学习时别用,影响理解。熟悉之后也就不想用了,不如用命令行效率高。
    ooops
        5
    ooops  
       2022-06-29 13:23:43 +08:00 via iPhone
    新建个 repo 随便搞,学会了再在项目里面使用。另外不要慌,没 push 之前随便搞,有 reflog 兜底呢。
    wcp1231
        6
    wcp1231  
       2022-06-29 14:24:56 +08:00
    4 楼的建议是对的。
    简单来说 Git 的历史就是单向链表,所有的分支或 tag 都是指向节点的指针。
    如果理解了,那基本上是用 Git 就不会遇到任何问题。
    AllenTsui
        7
    AllenTsui  
       2022-06-29 15:26:56 +08:00
    cherry-pick 解决你的问题
    2NUT
        8
    2NUT  
       2022-06-29 22:02:08 +08:00
    git 除非你主动删什么东西

    命令操作基本不会丢失数据
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   920 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:16 · PVG 06:16 · LAX 14:16 · JFK 17:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.