设置开发人员信息
git config --global user.name "chen"
git config --global user.email "xxxxx@qq.com"
查看开发人员信息及配置
git config --global user.name 查看名字
git config --global user.email 查看email
git config -- list 查看所有配置信息
查看当前状态
git status
当前工作区代码添加到暂存区
git add fileName(文字的名字)
例: gia add drag.html
或者添加所有已修改的文件
git add .
从暂存区提交代码到版本区
git commit (这里会弹出添加注释的vim编辑)
或者直接后面写注释
git commit -m "change 2017-7-6"
从暂存区撤回添加的文件
git reset HEAD drag.html 撤回单个文件
git reset HEAD . 撤回所有
提交的缓存区的同时提交到版本区
git commit -a -m "change 2017-7-6-3"
查看日志
git log
git 对比命令
git diff 工作区和暂存区的代码对比
git diff --cached 暂存区和版本区的对比
git diff --staged 效果同上
git diff master 工作区和版本区的代码对比
工作区回到之前的状态
git checkout -- drag.js(fileName)
删除文件
git rm fileName 删除暂存区文件(前提是必须先删除工作区文件)
git rm -f fileName 同时删除暂存区和工作区的文件
git rm --cached fileName 直接删除缓存区的文件(本地不用删除)
恢复文件
版本id可通过日志查看
git checkout 版本Id fileName 恢复某个文件
git reset --hard 版本Id 整个项目恢复某个版本
git reser --hard HEAD^ 回到上一个版本
git reset --hard HEAD~2 写2代表回到上两个版本 ,2可以为n
git reflog 回到现在的某个状态(要配合git reset --hard logId(reflog返回的Id))
提交到github
git remote 查看远程仓库的名字
git remote -v 查看远程仓库的地址
git push 仓库名字 提交的分支名字 提交到gitHub
例: git push origin master
更新代码及冲突解决
git fetch 更新(不与本地代码合并) --------推荐
这里会返回一个冲突的id号 上面有一个远端的分支
配合以下使用:
git diff 本地分支 远端分支 查看冲突
例子: git diff master origin/master
git merge orgin/master 合并代码
HEAD 是本地代码
orgin/master (远端仓库的名字,不一定是这个) 是远端仓库的
git pull 更新(自动与本地代码合并)
分支
git branch 查看当前分支
git branch test 创建一个名字为test的分支
git checkout name 切换到test这个分支上
git checkout -b test2 创建test2这个分支并切换到test2这个分支上
git merge (test)分支名称 合并名称为test的分支
git branch --merged 查看当前分支合并了哪些分支
git branch --no-merged 查看当前分支 没有合并的分支
git branch -d test 删除test这个分支(分支上代码没合并不能删除)
git branch -D test 强制删除test这个分支(没合并也能删)
! 代表冲突
HEAD 是代表我的
分支名称 是代表分支上的
+ 代表添加
- 代表删除
~ 代表修改
打标签
git tag 查看标签
git tag v1.0 打上版本标签
git push origin v1.0 把标签同步到github