基本命令
查看是否安装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