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

搞了一个 git 速查表的网站

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

    网站地址: 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
    bojackhorseman
        2
    bojackhorseman  
       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   ·   实用小工具   ·   1591 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:47 · PVG 00:47 · LAX 08:47 · JFK 11:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.