《GitHub 入门与实践》笔记
推荐 Git 练习网站: LearnGitBranching http://pcottle.github.io/learnGitBranching
初次使用时, 使用下列命令设置信息
Git config --global user.name ""Git config --global user.email""
然后在~/.gitconfig 中会保存信息, 下次修改可以直接修改文件
与 GitHub 建立连接
先生成 SSH 密钥:
SSH-keygen -t rsa -C "email"
按程序运行完后会生成 id_rsa 文件为私有密钥, id_rsa.pub 为公开密钥.
在 GitHub 设置中找到 Add SSH Key 后, 在其中输入 id_rsa.pub 中的内容.
然后可以测试是否链接成功.
SSH -T Git@GitHub.com
仓库操作
初始化仓库, 选择文件夹:
Git init
以下为常用指令:
Git status --- 查看仓库状态
Git add file.xxx --- 添加新文件进入暂存区
Git commit -m "description" --- 提交
Git push --- 将更新上传至 GitHub 仓库
查看日志 Git log:
Git log --- 显示提交的历史记录
Git log --pretty=short --- 显示一行
Git log -p --- 显示提交带来的改动
Git log -p filename --- 查看文件的提交日志和改动
Git log --graph --- 以图表的形式查看分支
比较文件 Git diff:
使用 Git diff 指令可以查看当前工作树与暂存区的区别. 在 commit 一次记录前要记得使用
Git diff HEAD
来查看前后的改动, 其中 HEAD 为当前分支中最新一次提交的指针
分支操作
Git branch --- 查看分支列表
Git branch xxx --- 创建新分支
分支切换:
Git checkout -b xxx --- 创建新分支并切换到该分支
Git checkout xxx --- 切换分支
Git checkout - --- 切换到上一个分支
合并分支:
Git checkout master --- 先切换会主分支
Git merge --no-ff xxx --- 合并分支并提交合并记录
回溯历史版本
回溯命令为:
Git reset --hard (回溯时间点的哈希值)
注意: Git log 命令只能查看以当前状态为终点的历史日志
所以, 若想回到原来状态则需使用 Git reflog 命令查看仓库的操作日志, 找出之前时间点的哈希值, 再回复回去.
压缩历史记录
有时刚提交完记录就发现自己有些许拼写错误, 修改后又再次提交, 这样就会有两个同版本的历史记录, 这时可以将两条历史记录压缩为一条:
Git rebase -i HEAD~2
HEAD~2 为最新提交的两条记录
远程仓库操作
在 GitHub 中先创建一个新的空仓库, 然后使用命令:
Git remote add (标识符: 默认为 origin) (仓库地址)
然后进行推送:
Git push -u (origin) master
来源: http://www.jianshu.com/p/189c0c3174a8