参考博客:https://www.liaoxuefeng.com/wiki/896043488029600
安装之后配置用户名和邮箱:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
在目录下创建git管理的仓库
$ git init
将指定文件添加到暂存区
$ git add xx文件名
将所有文件添加到暂存区
$ git add .
查看工作区的状态:
$ git status
将暂存区文件添加到本地仓库
$ git commit -m"备注说明信息"
本地仓库版本回退相关:
查看当前版本前提交日志
$ git log
查看简洁提交日志
$ git log --pretty=oneline
查看完整所有的提交日志(简洁版)
$ git reflog
查看工作区和暂存区的区别
$ git diff xx文件名
查看暂存区和本地版本库的区别
$ git diff --cached xx文件名
查看工作区和本地仓库的区别
$ git diff HEAD -- xx文件名
'''
在Git中,用HEAD表示当前版本,也就是最新的提交1094adb...(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
'''
从当前版本向前回滚一个版本
$ git reset --hard HEAD^
根据版本号回滚到指定版本 (l最少版本号的前六位,log中可以拿到)
$ git reset --hard f198d4
丢弃工作区的修改(回滚到最后一次提交的状态)
用版本库的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原
$ git checkout -- xx文件名
把暂存区的修改撤销掉(unstage),重新放回工作区
用版本库的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原
$ git reset HEAD xx文件名
远程仓库相关
- 先有远程仓库
$ git clone https://github.com/yueshouhu/outo-curd.git #默认clone master分支
git clone -b 分支名称 远程地址 #选择远程分支进行clone
之后正常git add ,git commit等
git pull origin dev #将远程分支dev版本库更新到本地版本库当前分支
git push origin dev #将本地版本当前分支合并到远程仓库分支dev
- 现有本地仓库(不常用)
'''上传'''
git add .
git commit -m "啦啦啦" #上传到本地仓库
$ git remote add origin https://github.com/yueshouhu/outo-curd.git #给远程仓库创建一个别名origin
#GitHub上有这个仓库了 我在本地连上,第一次上传
$ git push origin master #第一次会弹出github登录框
#将本地git上master分支传到github
$ git push origin dev
#将本地git上dev分支传到github
#第二次上传先git add . 和git commit -m “message”
再先 $ git pull origin dev #检查远程仓库内容和本次要上传的有无冲突,有要手动解决,无就可以直接上传
然后$ git push origin dev #当前分支和远程仓库分支要对应
分支管理
查看有哪些分支和当前分支
git branch
新建分支
git branch dev
删除分支
git branch -d bug
切换到dev分支
git checkout dev
创建分支并切换分支
git checkout -b dev
把bug分支合并到当前分支,如有冲突,手动解决
git merge bug
临时bug处理功能
#一般用的一个功能
自己本地代码没有写完,不像提交到仓库(其实自己的本地仓库是可以提交的,不影响任何人)
又需要切换到其他分支上解决问题
git stash #把工作区代码暂存到一个地方
#之后就可以切换到其他分支了
切回分支
git stash list
git stash apply 恢复数据 git stash drop 删除缓存区数据
git stash pop 恢复并删除,相当于上面两条命令放在一起执行