Git
文章平均质量分 82
git related
GoldenaArcher
Done is better than perfect
展开
-
git alias
其实之前就用过一些 alias,比如说就是的 alias,一般 alias 可以存储到 git 的 config 文件,repo 等级的在.git下,global 的一般在或者下,我的文件就在设置 alias 的方法如下:直接修改文件从命令行修改终端的修改也会被保存到文件中去。命令行中其他的内容也会被加到 alias 后面,如 设置了,那么运行会被处理成。下面会贴一些一些还挺有意思的 alias:lsll查看修改的文件:lds查看 commit 时间:ld。原创 2023-04-29 21:57:55 · 798 阅读 · 0 评论 -
git reflog
每次 git 的 reference 更新的时候,git 就会将其记录下来,这也是 reflog 名字的来源——reference log,同样,使用git reflog就可以查看这些记录。需要注意的事情就是,reflog 只会保存本地的变化,其次,所有的记录最多保持 90 天(可配置),90 后这些记录就会“退休”,无法被回溯。reflog 总共有 4 个子命令:show(默认)、expire、delete 和 exists,这里主要就讲一下。原创 2023-04-28 20:12:28 · 1033 阅读 · 0 评论 -
浅谈 git 底层工作原理
系统复习到这里也快差不多了,大概就剩下两三个 sections,这里学习一下 git 的 hashing 和对象。当然,跳过问题也不大。原创 2023-04-27 13:44:14 · 1003 阅读 · 0 评论 -
git tag
tag 现在比较常用的是用来打版本做 release,这块我确实没怎么用过,学习一下。一般来说一个 tag 会专门对应某一个 commit,可以想成一个 commit 的标签。关于版本的定义,目前大多数的版本都按照X.Y.Z的方式去定义,其中 X 代表 major 更新,即当做了不兼容的 API 修改,Y 代表 minor 更新,即做了向下兼容的功能性新增, Z 代表补丁更新,即做了向下兼容的问题修正。0.Y.ZX.Y.10X.Y.11其他一些细节的规范可以参考下面的文档,该文档有中文版。原创 2023-04-26 03:41:57 · 500 阅读 · 0 评论 -
git rebase
rebase 是一个……我觉得很麻烦的指令,不过没办法,公司算是有个软规定必须要使用 rebase。rebase 的功能和 merge 很像,不过它能够保持一个相对干净的历史,继续举个例子,假设现在有一个新的功能开发好了,需要将新功能合并到 main 中。这是开发 A 决定做的事情,ta 总共从 main 上拉了两次,每次产生 conflict 之后都是用 merge 解决的问题,产生了 2 个 merge commits,最后将所有的功能推到了 main 上。原创 2023-04-26 00:15:00 · 435 阅读 · 0 评论 -
git workflow
讲一下常用的 workflow,这个主要是根据自己个人工作经验,每个项目在实践上总会有些许的不同,求同存异。原创 2023-04-25 03:53:00 · 215 阅读 · 0 评论 -
GitHub Repo
之前笔记写了 git 和 gitup(pull+push),这里记一下 giehub repo 二三事。原创 2023-04-24 22:45:51 · 800 阅读 · 0 评论 -
github 基础
前面讲了 git 的基本使用,这里简单的提一下 github 的基本使用,主要还是 pull 和 push 两个部分。其中 pull 好像有了一些变化,现在似乎是需要 rebase 而不是自动就帮你做了……?不过 rebase 的部分之后再提。当然,不止是 github 用 git,gitlab、gitee、bitbucket 也都是使用 git 做版本控制,在不关注提供的其他功能(如 actions,copilot 等),使用哪个完全取决于个人偏好。原创 2023-04-24 11:08:15 · 760 阅读 · 0 评论 -
Git 时间线管理
这一部分主要讲的是 取消(undo) 变化 和在不同的时间锚点跳来跳去,以 command 为主。原创 2023-04-23 10:58:43 · 579 阅读 · 0 评论 -
git stash 操作
git stash是一个还挺方便,但是不会也不太要紧的指令,主要的应用场景为当部分的代码被修改了,但是又不想要 commit 当前的变化,便可以使用git stash将所有的变化进行保存,保持 working tree 干净。使用git stash会还原到上一个 commit 的状态。想要获取 stashed 的文件,就可以使用。换言之,使用git commit+的组合技也一样,就是多打了几个字会稍微麻烦一些。原创 2022-11-22 12:15:55 · 698 阅读 · 0 评论 -
git diff 操作
git diff是一条知道但是……从来没有用过的指令,基本上这也算是好好学习一下这条指令了。以前一般都是在 merge/rebase 的时候被动的看一下两个分支的变化,或者是在 VSCode 里面看一下 staged 的变化,不过这还是稍微有一点局限,比如说:除此之外,如果想要看两个不同分支的区别,以前基本上都是切换到另一条分支然后开始看区别。不过也提到了,如果两个分支都修改了同一个文件(这也是经常会发生的事情),那基本上……就是创建第三条分支,然后 merge 两个分支。原创 2022-11-21 11:50:54 · 2630 阅读 · 0 评论 -
git 分支操作
通俗一点的理解就是git branch的 CRUD,再加一点git merge的东西。分支的重要性毋庸置疑,下面是一个用 Mermaid 画的一个简单分支图:fill:#333;}对于很多项目来说,分支是一个最重要的分支,它相当于真理之源 (source of truth),同时也有一个说法就是,任何的变动都不应该打破主分支。原创 2022-11-12 05:31:42 · 884 阅读 · 0 评论 -
使用 git --amend 打补丁
可以对比一下 hash value,第一次操作的时候,hash value 是 395fa2ac3e6295569daa9120db2c26be5b46ee29,而第二次操作的时候,hash value 已经变成了 65fc6912f8204ad42f0af0261c03c799d83f82dc。在已经 commit 了之后我突然发现有一个内容忘了加了,或者是上次消息有个 typo,需要修改一下,这个时候可以使用。只能用来修改上一条 committed message,没办法修改好几条记录。原创 2022-11-05 05:07:44 · 192 阅读 · 0 评论 -
修改 git 默认编辑器
如果用的编辑器不是 VSCode,可以参考这里面的指令进行修改。git 的默认编辑器是 vim,嗯,反正对我来说不是非常友好(菜鸡就是这么不会玩终端),正好找到了可以修改默认编辑器的方法。告知 git 等待用户完成交互,如果是终端操作的文本编辑器就可以看到不需要这个 flag。原创 2022-11-05 04:33:42 · 1928 阅读 · 0 评论 -
git 基本指令
在开始之前先介绍一些基础的 bash 指令,如果没有特指 windows 的话,就双(三)端通用。原创 2022-11-04 08:14:11 · 365 阅读 · 0 评论