Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
初始化git本地仓库
1 | git init |
查看工作目录和暂存区文件状态
1 | git status |
添加工作目录文件到暂存区
1 | git add <file> #添加指定文件到暂存区 |
移除暂存区中的文件
1 | git rm <file_path> #删除暂存区或分支上的文件,同时工作区也不需要这个文件 |
提交暂存区文件到本地仓库
1 | git commit |
查看提交的日志信息
1 | git log |
查看本地仓库和工作区之间的更改
1 | git diff HEAD -- <file> |
--- 表变动之前的文件;+++表变动后的文件。变动的位置用两个@作为起始和结束
从暂存区中撤销到工作区
1 | git restore --staged <file> |
撤销上一次操作
1 | git reset HEAD <file> #撤销上一次的操作 |
本地仓库版本回退
1 | git reset --hard HEAD^ #回退到上一个版本 |
查看git本地仓库中的文件目录
1 | git ls-files |
从本地仓库中拉取文件到工作目录
1 | git checkout |
从本地仓库中删除指定文件
1 | git rm <file> |
git查看远程仓库地址:
1 | git remote -v |
使用本地Git客户端生成SSH公钥与私钥
1 | ssh-keygen -t rsa -C "[email protected]" |
检查测试链接
1 | ssh -T [email protected] |
绑定远程仓库
1 | git remote add origin <ssh> |
将本地仓库推送到远程仓库
1 | git push -u origin master #首次推送 |
切换分支
1 | git checkout <branch> #切换分支 |
删除分支
1 | git branch -d <branch> #删除本地分支 |
查看所有分支
1 | git branch #查看本地分支 |
合并分支
1 | git merge <branch> |
重命名分支
1 | git branch -m|-M <oldbranch> <newbranch> |
若newbranch名字分支已经存在,则需要使用-M为强制重命名,否则,使用-m进行重命名。
拉取远程仓库指定分支并在本地创建分支
1 | git checkout -b <local_branch> origin/<remote_branch> |
获取远程仓库中最新的状态
1 | git fetch |
新建标签
1 | git tag <tag_name> |
添加标签并指定标签描述信息
1 | git tag -a <tag_name> -m'XXX' |
查看所有的标签
1 | git tag |
删除一个本地标签
1 | git tag -d <tag_name> |
推送本地标签到远程
1 | git push origin <tag_name> #推送本地标签到远程 |
删除一个远程标签
1 | git push origin :refs/tags/<tag_name> #远程删除,但本地的还在 |