Skip to main content

8 posts tagged with "Git"

View All Tags

Git Advanced Tips

· 6 min read

git clean

git clean命令用来从你的工作区中删除所有没有 tracked过的文件. git clean经常和git reset --hard一起结合使用. 记住 reset 只影响被 track 过的文件, 所以需要 clean 来删除没有 track 过的文件. 结合使用这两个命令能让你的工作区完全回到一个指定的<commit>的状态.

用 GPG 加密 github commit

· 8 min read
Kimi Gao
Fullstack & AI

背景

GnuPG(简称 GPG),它是目前最流行、最好用的开源加密工具之一。

要了解什么是GPG,就要先了解 PGP

1991年,程序员 Phil Zimmermann 为了避开政府监视,开发了加密软件PGP。这个软件非常好用,迅速流传开来,成了许多程序员的必备工具。但是,它是商业软件,不能自由使用。所以,自由软件基金会决定,开发一个PGP的替代品,取名为GnuPG。这就是GPG的由来。

GPG 有许多用途,比如对文件,邮件的加密。而本文要说的是,如何使用 GPG 来加密 Github Commits。

在 Github 上查看一些项目的 Commits 时,会发现「This commit was signed with a verified signature.」字样,具体来说,就是下图示例那样:

git merge 和 rebase 的区别

· 13 min read
Kimi Gao
Fullstack & AI

分支的合并

分支的合并主要有两种方法:mergerebase,例如 release 分支或 hotfix 分支测试完成后,最后要合并回 master 分支,使用这两种方法,合并后分支的历史记录会有很大的差别,本文主要详细论述了这两种方法的差异以及使用场景。

merge

假设有两个分支:bugfix 分支是从 master 分支分叉出来的。下面主要分两种情况来讨论 merge 操作。

用 git squash 合并多个 commit

· 3 min read
Kimi Gao
Fullstack & AI

当同一个功能或 bug 的提交数量过多的时候,可以进行 commit 合并操作,比如如下场景:

我想将前面两个 commit 进行合并,我先找到第三个 commit 的 hash 值(git log 或 glol),执行以下命令:

$ git rebase -i e6c829f

oh-my-zsh: grbi e6c829f

一旦运行了'rebase -i'命令,你所预设的编辑器会被调用,其中含有如下的内容:

Git Basic Commands

· 22 min read
Kimi Gao
Fullstack & AI

总体流程图

git clone

该命令很简单不详细说,这里主要说一下如何重命名仓库,对当前文件夹已经存在同名仓库的时候会很有用:

git clone git@github.com:muwenzi/repo.git new-repo-name

Git 生成 SSH 密匙

· One min read
Kimi Gao
Fullstack & AI

生成 SSH 密匙

ssh-keygen -t rsa -C "xxx@gmail.com" //填写 email 地址,然后一直“回车”ok

密匙存在 ~/.ssh/id_rsa.pub 文件,在 Github 的账号Edit Profile里面SSH and GPG keys新建 SSH 复制该文件里面的密匙即可。