生成SSH Key
ssh-keygen -t rsa -C "youremail@example.com"
- 在用户主目录里找到.ssh目录
- 将id_rsa.pub中的数据放到服务器的.ssh目录下
克隆远程仓库
git clone https/git
查看所有的版本提交记录
git log (--pretty=oneline)
$ git log
commit affd8ca1bc90c0865fbdc425726513b1dd09a523
Author: chaimm <350142639@qq.com>
Date: Mon May 8 15:28:08 2017 +0800
自动化查询页增加:分页功能
commit b8f06aab3a71bd4a4b66c5310b52be36748b56af
Merge: 1766243 3648640
Author: ZzzSimon <2234587454@qq.com>
Date: Mon May 8 15:20:17 2017 +0800
+分页
查看版本回退/提交信息
git reflog
本地版本仓库的版本回退
git reset --hard 3628164
工作区 与 暂存区 与 本地版本库
- 对代码的修改是在工作区进行的;
- git add后代码会进入暂存区
- git commit仅会提交暂存区的代码,不会提交工作区的代码!
撤销工作区修改
git checkout -- 指定文件
- 若暂存区是干净的,则工作区撤销后,和之前提交的版本保持一致;
- 若暂存区已经有代码了,则工作区撤销后,和暂存区的代码保持一致。
注意:git checkout 后必须加–,否则就成切换分支命令了!
撤销暂存区的修改,将暂存区的修改放回至工作区
git reset HEAD 指定文件
创建分支
git branch 新分支名
切换分支
git checkout 指定分支名
查看所有分支
git branch
* dev
master
合并分支
切换到master分支上:
git checkout master
将指定分支合并至master分支
git merge dev
删除指定分支
git branch -d 分支名
分支管理策略
- master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
- 干活都在dev分支上,每个人都有自己的dev分支;
- 所以,团队合作的分支看起来就像这样:
Bug分支
当被分配到bug时,需要创建一个新分支,在上面进行修改。但此时可能还在自己的dev分支上开发新功能,此时需要将当前工作区存起来,在bug修复完后再还原。
存储当前工作区
git stash
切回master分支,基于master分支创建新的bug分支
git checkout master git checkout -b issue-101
在新分支上修改bug
切回master分支,合并bug分支
git checkout master git merge issue-101
删除bug分支
git branch -d issue-101
查看所有保存的工作区
git stash list
还原工作区
使用apply还原指定stash,再使用drop删除
git stash apply xxx git stash drop xxx
使用pop还原并删除第一个stash
git stash pop