许久之前的笔记,最近修改发到博客,以备后用。这里假设已有 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 / EnterEnter 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.meThe 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 中,完成后可以在终端测试:
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