代码管理以前用 svn,现在用 git,还有其他的吗?还有更好的吗?开发一个 git 需要哪些方面的知识? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
piqizhu8

代码管理以前用 svn,现在用 git,还有其他的吗?还有更好的吗?开发一个 git 需要哪些方面的知识?

  •  
  •   piqizhu8 Jun 29, 2021 3127 views
    This topic created in 1766 days ago, the information mentioned may be changed or developed.

    我现在写好代码后,每次都会用 git 提交到服务器, 有时候 想撤销, 或者在不同历史之间来回跳转,

    我发现用 git 实现这个需求很复杂,

    所以就提了这个问题

    谢谢

    29 replies    2021-07-01 00:03:05 +08:00
    ysc3839
        1
    ysc3839  
       Jun 29, 2021 via Android   1
    很复杂吗?用 git gui,菜单 visualize all branch history,找到你要跳转到的 commit,右键 reset branch to here 。
    aheadlead
        2
    aheadlead  
       Jun 29, 2021   1
    撤销:git revert
    不同历史之间来回跳转: git checkout
    CEBBCAT
        3
    CEBBCAT  
       Jun 29, 2021   1
    SVN/Git 这种软件叫做 version control system,你可以在维基百科上看到更多信息: https://en.wikipedia.org/wiki/Comparison_of_version-control_software#History_and_adoption

    但我想就像那句“很多人还没到拼天赋的阶段”一样,可能是你用得还不全。你可以配合 CI/CD,以及 git tag 来用。
    NotFoundEgg
        4
    NotFoundEgg  
       Jun 29, 2021   1
    可以用 gui 搭配命令行使用 推荐一个 Sourcetree
    thunderw
        5
    thunderw  
       Jun 29, 2021
    这种日常需求,自己开发一个,不如钻研一下工具怎么用。
    开发的工作量的大的超乎你的想象。
    aheadlead
        6
    aheadlead  
       Jun 29, 2021
    基操勿六。。
    aheadlead
        7
    aheadlead  
       Jun 29, 2021
    基操勿
    DonkeyBenjamin
        8
    DonkeyBenjamin  
       Jun 29, 2021
    [pijul]( https://github.com/jneem/pijul), 有论文证明其正确性。
    ampedee
        9
    ampedee  
       Jun 29, 2021 via Android   3
    如果觉得光记命令复杂,推荐看看 git 的底层原理。底层原理其实非常简洁,有很多相关的资料,我还写过一篇博客粗浅地介绍了一下: https://www.waynerv.com/posts/git-undo-intro/
    FurN1
        10
    FurN1  
       Jun 29, 2021   3
    不会用 Git,因为我不熟悉 VCS 的用法,所以要学习如何用 Git
    不会用 Git,但我熟悉 VCS 的所有原理,我自己写一个 VCS
    不会用 Git,我觉得 VCS 的基本操作好复杂,我自己写一个 VCS

    网友:???
    GG668v26Fd55CP5W
        11
    GG668v26Fd55CP5W  
       Jun 30, 2021 via iPhone
    开发一个 git ?
    我看好你…
    msg7086
        12
    msg7086  
       Jun 30, 2021
    Git 不复杂。

    代码管工具,说白了和你大学里写的什么学生管理系统,是差不多的东西。
    本质上是把所有代码的变更保存在一个数据库里,然后 CRUD 。
    学生管理系统,有班级有学生有老师。
    代码管理系统,有提交有文件有分支。
    创建提交就是新建数据库记录。取 diff 就是找两条数据记录,找到文件然后计算差异。
    (或者直接存取文件差异,然后计算文件结果。)

    自己开发一个类似 Git 的 VCS 不算很难。
    如果你想要练手,当然可以自己写一个。
    写完以后你应该就会搞懂 Git 了。

    重新实现一套软件可能是理解软件工作原理最好的方式之一了。
    henryhu
        13
    henryhu  
       Jun 30, 2021
    git 是复杂的,因为精细管理开发协作是复杂的
    TomVista
        14
    TomVista  
       Jun 30, 2021
    git clone
    git pull
    git push
    git checkout
    git branch
    git reset

    剩下的百度,解决不了,社区找老哥.一共 6 个 不难学吧.
    QUC062IzY3M1Y6dg
        15
    QUC062IzY3M1Y6dg  
       Jun 30, 2021
    @TomVista 这几个指令能满足 95%的需求
    wms
        16
    wms  
       Jun 30, 2021
    @TomVista
    git stash
    git diff
    还差这两个比较重要的
    wangkun025
        17
    wangkun025  
       Jun 30, 2021
    我都是 git log,然后 git reset --hard log_number
    ijse
        18
    ijse  
       Jun 30, 2021   1
    fossil-scm 不错,sqlite 作者写的,结合了 svn 和 git 的优点
    TomVista
        19
    TomVista  
       Jun 30, 2021
    @wms 没用过,补课补课
    TomVista
        20
    TomVista  
       Jun 30, 2021
    @TomVista #14
    加一个 git commit
    VDimos
        21
    VDimos  
       Jun 30, 2021 via Android
    这玩意儿的算法很复杂的,论文很多的,想写的话慢慢读吧
    Leonard
        22
    Leonard  
       Jun 30, 2021
    支持 lz 开发一个新的
    xuboying
        23
    xuboying  
       Jun 30, 2021
    看这个贴子有种穿越到 NN 年前的感觉
    Smash
        24
    Smash  
       Jun 30, 2021
    @wms cherry pick 和 rebase 也很重要,特别是在主分支不允许 merge 的情况下
    wms
        25
    wms  
       Jun 30, 2021
    @Smash cherry-pick 好东西,谢谢分享
    felixcode
        26
    felixcode  
    PRO
       Jun 30, 2021   1
    说 git 不复杂的,研究一下源码再说吧
    https://github.com/git/git
    mangoDB
        27
    mangoDB  
       Jun 30, 2021
    「学会使用 git 」的难度远远小于「开发版本控制器」
    whkvf
        28
    whkvf  
       Jun 30, 2021 via Android
    @ijse hipp 是个大师级的人物,Lemon,sqlite,althttpd 都属于那种异常短小而精致的作品。
    kikikiabc
        29
    kikikiabc  
       Jul 1, 2021 via iPhone
    About     Help     Advertise     Blog     API     FAQ     Solana     1132 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 67ms UTC 23:54 PVG 07:54 LAX 16:54 JFK 19:54
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86