搞了一个 git 速查表的网站 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hpu423
V2EX    分享发现

搞了一个 git 速查表的网站

  •  1
     
  •   hpu423 2022-03-10 11:07:24 +08:00 4425 次点击
    这是一个创建于 1319 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网站地址: https://cheatsheet.wang/

    git 是我自己高频使用的工具,除了常用的几个命令,其他功能经常是通过百度,google 搜索得到,每次都耽误时间,于是自己动手搞了一个速查表的小网站。

    肝了几天,查了很多资料,终于搞完了,现在放出来,欢迎大家提出宝贵意见。

    使用的技术: hugo+gitlab+cloudflare pages

    36 条回复    2022-03-14 15:46:47 +08:00
    zthxxx
        1
    zthxxx  
       2022-03-10 11:17:34 +08:00   7
    dumbass
        2
    dumbass  
       2022-03-10 11:20:54 +08:00
    希望可以加入 DarkMode
    genfy
        3
    genfy  
       2022-03-10 11:22:59 +08:00   4
    PC 端访问,排版是不是太密了点,右边还有那么多空间。
    这个 git 命令速查就非常简洁: https://quanxin.org/git-cheat-sheet
    (真的就是命令速查,完全没有多余的 :doge )
    hpu423
        4
    hpu423  
    OP
       2022-03-10 11:31:23 +08:00
    @zthxxx 这个不错啊
    hpu423
        5
    hpu423  
    OP
       2022-03-10 11:37:04 +08:00
    @genfy 哈哈哈,密集不密集的看个人喜好,右边的空间多的问题,瀑布流,不好控制,后面看看
    hpu423
        6
    hpu423  
    OP
       2022-03-10 11:40:51 +08:00
    @bojackhorseman 有空研究一下
    creanme
        7
    creanme  
       2022-03-10 11:50:16 +08:00
    我一直没太搞懂,比如我修改了当前分支 10 个文件,只想提交 8 个,另外 2 个放弃修改。
    应该怎么操作这两个文件呢?
    用 git reset 吗?
    creanme
        8
    creanme  
       2022-03-10 11:55:03 +08:00
    我用 git checkout <filename>,会报错 error: pathspec 'HelloWorld.vue' did not match any file(s) known to git
    balabalaguguji
        9
    balabalaguguji  
       2022-03-10 11:58:26 +08:00
    不错,收藏了
    hpu423
        10
    hpu423  
    OP
       2022-03-10 11:58:28 +08:00
    @creanme

    git add file1 file2 ... #10 个文件
    git commit -m "file 10"
    git reset --hard

    我没测试过,可以试试
    hpu423
        11
    hpu423  
    OP
       2022-03-10 11:58:43 +08:00
    liquid207
        12
    liquid207  
       2022-03-10 11:58:49 +08:00
    @creanme
    如果你还没有提交这次改动,使用 git checkout {filename} 来放弃修改
    如果你已经提交,还想修改,了解下 amend
    gaolingyi
        13
    gaolingyi  
       2022-03-10 12:02:21 +08:00
    @genfy 这个审美符合我
    FieldFarmer
        14
    FieldFarmer  
       2022-03-10 12:02:45 +08:00
    @creanme 这个比较好想到吧,找放弃修改的那两个文件的 history 里面的最新的那版,把原来内容复制过来,再 commit 就行了吧
    creanme
        15
    creanme  
       2022-03-10 12:06:04 +08:00
    @liquid207 还没 commit ,比如我想放弃修改项目目录下面的 src/components/HelloWorld.vue

    我应该用 git checkout -- HelloWorld.vue 吗
    我这样操作会提示 error: pathspec 'HelloWorld.vue' did not match any file(s) known to git
    FieldFarmer
        16
    FieldFarmer  
       2022-03-10 12:06:26 +08:00
    @FieldFarmer 刚刚看到有个命令是 git restore <filename>,不知道有没有用
    creanme
        17
    creanme  
       2022-03-10 12:07:10 +08:00
    我好像懂了,因为我刚创建的项目。。。还没 commit 过,所以会有这个错误。
    liquid207
        18
    liquid207  
       2022-03-10 12:14:39 +08:00
    @creanme
    git checkout src/components/HelloWorld.vue ,checkout 后要跟全路径
    你可以先用 git status 查看下修改了哪些文件
    Dvel
        19
    Dvel  
       2022-03-10 12:16:02 +08:00
    @creanme #7 这个用 GUI 方便,放弃修改的右键文件 Discard Changes ,其他的正常提交。
    hpu423
        20
    hpu423  
    OP
       2022-03-10 12:18:19 +08:00
    @creanme `git checkout <file-name>` 恢复暂存区文件到工作区 ,意思就是将暂存区的同名文件覆盖到工作区来达到放弃修改的目的,没 commit 就会报错吧
    devwolf
        21
    devwolf  
       2022-03-10 13:07:39 +08:00
    checkout 有一个我以前常用的命令,不知道有没有人还记得……

    就是"当前是 B 分支,那么这个指令可以拉取 A 分支中 a1 文件的修改到 B 分支中"

    记得我以前查手册也没查到,像

    git checkout dev ./index.js 这样?
    也可能只是看着像我描述的这样,我不太清楚这个操作的“正确描述”,有人可以帮我指路一下吗
    AllenHua
        22
    AllenHua  
       2022-03-10 13:11:10 +08:00
    感谢分享,本帖里几个网站都很不错。我之前一直在用这个 GitHub repo https://github.com/arslanbilal/git-cheat-sheet
    devwolf
        23
    devwolf  
       2022-03-10 13:17:55 +08:00   1
    @AllenHua 感谢,这个链接里我似乎找到了

    ```
    Checkout single file from different branch 从不同的分支签出单个文件
    $ git checkout <branch> -- <filename>
    ```
    lixile
        24
    lixile  
       2022-03-10 13:37:53 +08:00
    git cherry-pick [commit_id]
    git clean -x
    git rebase -i HEAD~[num]
    这三个还是比较常见吧 或许可以补充以下?
    另外 能本地部署吗 我想部署公司内 免得天天被人打扰问基础 git 问题
    daimubai
        25
    daimubai  
       2022-03-10 13:45:41 +08:00   1
    @creanme reset 是撤销暂存,checkout 是撤销工作目录的修改吧。前提文件已经加入到 git 仓库了
    null2018
        26
    null2018  
       2022-03-10 13:49:06 +08:00
    https://fig.io/ 可以试试用这个提示工具
    hpu423
        27
    hpu423  
    OP
       2022-03-10 14:05:13 +08:00
    @lixile 你说的几个命令,晚上下班加进去,目前还没有开源的打算
    usapla
        28
    usapla  
       2022-03-10 16:03:50 +08:00
    收藏了
    codingguy
        29
    codingguy  
       2022-03-10 19:56:00 +08:00   1
    推荐这个 https://tldr.ostera.io/ ,其他命令也都能查
    superrichman
        30
    superrichman  
       2022-03-11 09:45:54 +08:00
    过几天就会变成淘宝鼠标垫
    1arry
        31
    1arry  
       2022-03-11 13:56:52 +08:00
    好网站,已收藏,希望永远在线。
    yunyuyuan
        32
    yunyuyuan  
       2022-03-11 14:51:31 +08:00
    遇到自己不会但可能存在的操作,我一般看这个 https://github.com/521xueweihan/git-tips
    BigBai
        33
    BigBai  
       2022-03-11 16:16:46 +08:00
    查看 目录下的`git reflog`命令重复了
    hpu423
        34
    hpu423  
    OP
       2022-03-11 16:42:44 +08:00
    @1arry 放心,一直会在线的,除了域名,其他都不花钱,没什么成本
    hpu423
        35
    hpu423  
    OP
       2022-03-11 16:48:45 +08:00
    @BigBai 谢谢,已经删掉了
    1arry
        36
    1arry  
       2022-03-14 15:46:46 +08:00
    @hpu423 加油,很棒的网站。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2668 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 14:39 PVG 22:39 LAX 07:39 JFK 10:39
    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