本节内容
- github介绍
- 安装
- 仓库创建& 提交代码
- 代码回滚
- 工作区和暂存区
- 撤销修改
- 删除操作
- 远程仓库
- 分支管理
- 多人协作
- github使用
- 忽略特殊文件.gitignore
1.github介绍
无
2.git安装
git # 查看环境变量内是否有git
sudo apt-get install git # ubuntu下安装git
3.版本库创建
git init # 初始化git仓库
git add file # 将文件添加到stage缓存区
git add . # 将当前目录下的所有文件添加到stage缓存区
git commit -m "message" # 将stage缓存区文件提交到repository仓库
git config --global user.email "XXXXX@qq.com" # 设置用户邮箱
git config --global user.name "GavinSimons" # 设置用户名
git config --global --edit # 修改配置参数
4.代码回滚
git status # 查看git状态
git diff file # 查看file文件差异
git log # 查看版本迭代历史记录
git log --pretty=oneline # 一行展示一条版本迭代历史记录
git reset --hard HEAD^ # 回滚到上一版本
git reset --hard HEAD^^ # 回滚到上上版本
git reset --hard HEAD~100 # 回滚到上100个版本
git reset --hard 4459657 # 回滚到commit id(md5) 为 4459657的版本
git reflog # 查看每次命令历史记录
5.工作区和暂存区
无
6.撤销修改
git checkout -- file # 放弃工作区file文件的修改
git reset HEAD file # 把暂存区的修改撤销掉(unstage), 重新放回工作区
git reset 命令既可以回退版本,也可以把暂存区的修改回退到工作区,我们用HEAD时,表示最新的版本。
7.删除操作
git rm file # 从版本库中删除file文件
git checkout其实是用版本库里的版本替换工作区的版本,无论工作区修改还是删除,都可"一键还原"
8.远程仓库
ssh-keygen -t rsa -C "youremail@example.com" # 创建SSH Key
ssh -T git@github.com # 测试SSH连接
git remote add origin git@github.com:GavinSimons/XXXXX.git # 添加远程仓库
git push -u origin master # 推到远程
git push # 把当前分支master推送到远程
git push origin master # 推送到远程
git clone git@github.com:GavinSimons/xxxxx.git # 从远程克隆仓库
9.分支管理
git checkout -b dev # 创建dev分支, 并切换到dev分支(相当于以下两条命令)
git branch dev # 创建dev分支
git checkout dev # 切换到dev分支
git branch # 查看当前分支
git merge dev # 把dev分支合并到当前分支
git branch -d dev # 删除dev分支
git stash # 把当前工作现场“储藏”起来
git merge --no-ff -m "message" issue-101 # 把issue-101分支合并到当前分支,并提交说明
git stash list # stash 列表
git stash apply stash@{0} # 恢复stash0,但stash0内容并不删除
git stash drop stash@{0} # 删除stash0
git stash pop stash@{0} # 恢复stash0,并自动删除
10.多人协作
git remote # 查看远程库信息
git remote -v # 查看远程库详细信息
git push origin master # 将该分支推送到远程库对应的远程分支上
git push origin dev # 将该分支推送到远程库dev的分支上
git checkout -b dev origin/dev # 将远程origin的dev分支复制到本地
git push origin dev # 将当前分支推送到远程的dev分支
git pull # 把最新提交从origin/dev抓下来
git branch --set-upstream-to=origin/dev dev # 设置dev和origin/dev的链接
git branch --set-upstream branch-name origin/branch-name # 创建本地分支和远程分支的链接关系
11.github使用
无
12.忽略特殊文件.gitignore
git add -f file # 被.gitignore屏蔽的文件,采用这种方式,强制加入stage
git check-ignore -v file # 查看哪个规则屏蔽了file文件