1. GitHub与Git万用语法
1)创建库
git init
2)添加和提交到仓库
git add readme.txt # 添加
git status # 提交前查看状态
git commit -m "description" # 提交
git status # 提交后查看仓库状态
git diff readme.txt # 查看文件更改前后的内容变化
3)版本回退
# 现在->过去
git log # 查看历史记录
git log --prettry=oneline # 查看历史记录-简易版
git reset --hard HEAD^ # 回退到上一个版本
git reset --hard HEAD~100 # 回退到第前10个版本
# 过去->现在
git reflog # 获得所有提交命令的版本号
git reset --hard <commit id> # 通过版本号回到现在
4)缓存区和暂存区
git add file1 file2 file3 # 添加到缓存区
git commit -m "description" # 一次性提交多个文件
5)撤销和删除文件
# 文件内容有误,需要恢复到之前的版本:可以手动更改在commit,也可以回到HEAD^版本,本文介绍第三种方法
## version1:没有加入到暂存区
git status # 查看哪个文件被更改了
git checkout --filename # 撤销这个文件的更改
## version2: 已经加入到暂存区
git reset --hard HEAD^ # 先返回到上一版本(暂存区->工作区)
git checkout --filename # 撤销这个文件的更改
rm filename # 从工作区删除filename
git rm filename # 从版本库删除filename
git checkout -- filename # 恢复删除的filename
6)远程仓库
ssh-keygen -t rsa –C “youremail@example.com” # 建立github和本地电脑的SSH Key链接
本地->GitHub
git remote add origin git@server-name:path/repo-name.git # 关联一个GitHub
git push -u origin master # 本地内容推送到GitHub(第一次用)
git push origin master # 以后每次提交用
GitHub->本地
git clone git@github.com:haochen/learngit.git
7)创建和合并分支
git checkout -b feature1 # 创建并切换到feature1分支
git branch # 查看当前所有分支
git checkout master # 切换到主分支
git merge feature1 # 合并master和feature1分支:fast-mode模式
git merge --no-ff -m "merge with no-ff" <name> # 合并分支,并且留下信息说明我在这里合并过
git branch -d feature1 # 删除feature1分支
解决合并冲突
git log --graph --pretty=oneline --abbrev-commit # 树状图查看分支情况