许久之前的笔记,最近修改发到博客,以备后用。这里假设已有 GitHub 账号,并建好仓库。
初始设置
设置姓名和邮箱
设置使用 GitHub 时的姓名和邮箱:
1# 使用自己想要的名字和邮箱2$ git config --global user.name "wu2e"3$ git config --global usr.email "*******@wuze.me"
设置完毕,可在 ~/.gitconfig
中查看,也可以直接编辑里面的信息;另外一点就是如果上面设置的邮箱与 GitHub 注册时的邮箱不同,需要把设置中的邮箱添加到 GitHub 的账号中,不然个人主页中的贡献无法正确显示。可在 Setting 中增加,或参考:Adding an email address to your GitHub account。
提高可读性
1# true 为打开所有的预设终端着色2# false 为不着色输出3# always 为任何情况都着色4$ git config --global color.ui auto
设置好后,在 ~/.gitconfig
中,会自动增加两行内容:
1[color]2 ui = auto
设置 SSH Key
- -t 为指定要创建的密钥类型
- id_rsa 文件是私有密钥,id_rsa.pub 是公开密钥。
1$ ssh-keygen -t rsa -C "*******@wuze.me"2
3Generating public/private rsa key pair.4Enter file in which to save the key (/Users/Name/.ssh/id_rsa): #按 Return / Enter5Enter passphrase (empty for no passphrase): # 设置密码6Enter same passphrase again: # 重复输入密码7Your identification has been saved in /Users/Name/.ssh/id_rsa.8Your public key has been saved in /Users/Name/.ssh/id_rsa.pub.9The key fingerprint is:10SHA256:87inZT8uQuZZWyFk22lXWoWdqUmDKtGpPBCq70npwn2 *******@wuze.me11The key's randomart image is:12+---[RSA 4096]----+13|.o*+. |14|E+ .. . |15|o . + . |16| . * = . |17|o . B * S . |18|B= + B o . |19|%B. o = |20|B*+. . . |21|O+. |22+----[SHA256]-----+
接下来使用命令来查看公开密钥:
1$ cat ~/.ssh/id_rsa.pub
然后复制密钥到 SSH and GPG keys 中,完成后可以在终端测试:
12Enter passphrase for key '/Users/Name/.ssh/id_rsa': # 输入之前设置的密码3Hi wu2e! You've successfully authenticated, but GitHub does not provide shell access.4# 出现这个即表示成功
常用命令
日常使用中一般不过是编辑(各编辑器或 IDE)、暂存(git add)、提交(git commit)、推送(git push)四个步骤,然后辅以查看状态(git status)、更改(git diff)和日志(git log),这样构成了整个 Git 的基本操作流程。当然除了之前提过命令的高阶用法之外,还有删除、回溯、分支、检查等这些命令,不过这些可以都可以在实际需要时去学习,基本上所有的命令都是为了更好的为为 add、commit 和 push 服务。
加入暂存 git add
暂存区是提交之前的一个临时区域,并不会产生实际影响。
1# 语法2git add <File>3
4# 例子5git add hello.md6
7# 也可以是目录8git add hello
提交更改 git commit
将之前使用 git add 命令保存在暂存区的文件保存到仓库的记录中。
1# 语法2# 这将打开一个编辑器,以便记录详细的提交信息3git commit4
5# 或者只简略的记录提交信息6git commit -m "这里写提交信息"
推送更改 git push
把之前 git commit 提交的更改推送到服务器上,即 GitHub。
1# 语法及使用2git push
查看 status、log 和 diff
status
主要用与显示仓库的状态,基本上每进行一次前面的操作之前,对会运行这个命令查看一下;而 log 命令则是查看仓库的历史提交记录,只要 commit 之后的操作的可以查看;至于 diff
则是查看当前文件和暂存区与最新的提交之前的区别。
1# 查看状态2git status3
4# 查看日志5git log6
7# 查看更改当前文件与暂存区之间的区别8git diff9
10# 查看当前文件与最新提交之前的区别11git diff HEAD