基本命令
//查看是否安装git
$ git
//创建一个版本库 把当前目录变成Git可以管理的仓库
$ git init
//克隆代码
$ git clone url
//更新代码
$ git pull
//把文件添加到缓存区
$ git add filename
//把文件放到本地仓库
$ git commit [filename] -m ["备注"]
//把文件推到远程仓库 第一次-u后边就不用带了, 是为了跟远程仓库同步 master是分支
$ git push -u origin master
//查看git当前状态
$ git status
//对比文件更改信息 查看修改内容
$ git diff [filename]
版本管理
//查看提交日志 --pretty=oneline表示一行显示
$ git log [--pretty=oneline]
//查看操作日志
$ git reflog
//查看仓库版本结构
$ git log --graph
//回到上一个版本
$ git reset --hard HEAD^
//回到上上一个版本
$ git reset --hard HEAD^^
//回到上N个版本, 如上5个版本
$ git reset --hard HEAD~5
//回到指定版本 commit_id是提交的版本号 查看日志里能看到
$ git reset --hard commit_id
//撤销工作区修改,回到最后一次更新内容 "--"一定要带,不然就切换分支了
$ git checkout -- filename
//撤销缓存区修改 工作区的修改还在
$ git reset HEAD filename
删除文件和恢复
//删除文件
$ git rm filename
$ git commit [filename] -m ["备注"]
//删除后恢复到最新
$ git reset -- filename
分支管理
//创建一个分支 dev是分支的名字
$ git checkout -b dev
//创建远程分支到本地
$ git checkout -b dev
//创建分支 并推送到远程仓库
$ git checkout -b dev
$ git push -u origin dev
//查看当前分支
$ git branch
//切换分支到 master
$ git checkout master
//合并分支 dev的分支到当前分支 合并后需要提交
$ git merge dev
//合并分支禁用Fast forward ; --no-ff 推荐!!
//合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。
$ git merge --no-ff -m "备注" dev
//删除分支 dev
$ git branch -d dev
//强制删除分支 dev
$ git branch -D dev
//删除远程分支 origin/dev
$ git punch origin :dev
标签管理
//创建tag
$ git tag v1.0
//创建指定commit_id的tag
$ git tag v1.0 commit_id
//查看tag
$ git tag
//查看指定tag
$ git show v1.0
//创建带有说明的标签,用-a指定标签名,-m指定说明文字:
$ git tag -a v1.0 -m "备注" commit_id
//删除tag
$ git tag -d v1.0
//推送某个标签到远程
$ git push origin v1.0
//次性推送全部尚未推送到远程的本地标签
$ git push origin --tags
//标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除
$ git tag -d v1.0
$ git push origin :refs/tags/v1.0
其他命令
//git 命令行改变颜色
$ git config --global color.ui true
//忽略特殊文件
.gitignore 文件中配置 文件本身要放到版本库里
参照:https://github.com/github/gitignore
//想添加该文件,可以用-f强制添加到Git
$ git add -f main.class