许久之前的笔记,最近修改发到博客,以备后用。这里假设已有 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