许久之前的笔记,最近修改发到博客,以备后用。这里假设已有 GitHub 账号,并建好仓库。

初始设置

设置姓名和邮箱

设置使用 GitHub 时的姓名和邮箱:

# 使用自己想要的名字和邮箱
$ git config --global user.name "wu2e"
$ git config --global usr.email "*******@wuze.me"

设置完毕,可在 ~/.gitconfig 中查看,也可以直接编辑里面的信息;另外一点就是如果上面设置的邮箱与 GitHub 注册时的邮箱不同,需要把设置中的邮箱添加到 GitHub 的账号中,不然个人主页中的贡献无法正确显示。可在 Setting 中增加,或参考:Adding an email address to your GitHub account

提高可读性

# true 为打开所有的预设终端着色
# false 为不着色输出
# always 为任何情况都着色
$ git config --global color.ui auto

设置好后,在 ~/.gitconfig 中,会自动增加两行内容:

[color]
    ui = auto

设置 SSH Key

  • -t 为指定要创建的密钥类型
  • id_rsa 文件是私有密钥,id_rsa.pub 是公开密钥。
$ ssh-keygen -t rsa -C "*******@wuze.me"

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/Name/.ssh/id_rsa): #按 Return / Enter
Enter passphrase (empty for no passphrase): # 设置密码
Enter same passphrase again: # 重复输入密码
Your identification has been saved in /Users/Name/.ssh/id_rsa.
Your public key has been saved in /Users/Name/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:87inZT8uQuZZWyFk22lXWoWdqUmDKtGpPBCq70npwn2 *******@wuze.me
The key's randomart image is:
+---[RSA 4096]----+
|.o*+.            |
|E+  .. .         |
|o   . + .        |
|   . * = .       |
|o . B * S .      |
|B= + B o .       |
|%B. o =          |
|B*+. . .         |
|O+.              |
+----[SHA256]-----+

接下来使用命令来查看公开密钥:

$ cat ~/.ssh/id_rsa.pub

然后复制密钥到 SSH and GPG keys 中,完成后可以在终端测试:

ssh -T git@github.com
Enter passphrase for key '/Users/Name/.ssh/id_rsa': # 输入之前设置的密码
Hi wu2e! You've successfully authenticated, but GitHub does not provide shell access.
# 出现这个即表示成功

常用命令

日常使用中一般不过是编辑(各编辑器或 IDE)、暂存(git add)、提交(git commit)、推送(git push)四个步骤,然后辅以查看状态(git status)、更改(git diff)和日志(git log),这样构成了整个 Git 的基本操作流程。当然除了之前提过命令的高阶用法之外,还有删除、回溯、分支、检查等这些命令,不过这些可以都可以在实际需要时去学习,基本上所有的命令都是为了更好的为为 add、commit 和 push 服务。

加入暂存 git add

暂存区是提交之前的一个临时区域,并不会产生实际影响。

# 语法
git add <File>

# 例子
git add hello.md

# 也可以是目录
git add hello

提交更改 git commit

将之前使用 git add 命令保存在暂存区的文件保存到仓库的记录中。

# 语法
# 这将打开一个编辑器,以便记录详细的提交信息
git commit

# 或者只简略的记录提交信息
git commit -m "这里写提交信息"

推送更改 git push

把之前 git commit 提交的更改推送到服务器上,即 GitHub。

# 语法及使用
git push

查看 status、log 和 diff

status 主要用与显示仓库的状态,基本上每进行一次前面的操作之前,对会运行这个命令查看一下;而 log 命令则是查看仓库的历史提交记录,只要 commit 之后的操作的可以查看;至于 diff 则是查看当前文件和暂存区与最新的提交之前的区别。

# 查看状态
git status

# 查看日志
git log

# 查看更改当前文件与暂存区之间的区别
git diff

# 查看当前文件与最新提交之前的区别
git diff HEAD

参考