Git版本控制
《GitHub入门与实践》笔记
推荐Git练习网站: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