git命令行速查
git命令涉及到如下几个基本概念
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
- workspace:工作区,值当前正在编译的文件夹
- Index/Stage: 暂存区
- Repository: 本地仓
- Remote: 远程仓
1. 基本配置
-
显示当前配置
git config --list
-
编辑配置文件
git config -e [--global]
-
配置用户名
git config [--global] user.name "[name]"
-
配置用户邮箱
git config [--global] user.email "[email address]"
-
生成ssh密钥
$ cd /path/to/ssh_key_dir $ ssh-keygen -t rsa -C "yourEmail@somenet.com" $ #按提示输入passphrase,为空代表不适用口令 $ cat ./id_rsa.pub $ #login github, setting -> SSHkeys -> New SSHkey -> add the id_rsa.pub
2. 本地代码仓管理
基本管理
- 新建
git init [project-name]
- 增加文件到暂存区
git add [file1] [file2] ...
- 增加文件夹到暂存区
git add [dir1] ...
- 添加当前目录所有文档到暂存区
git add .
- 从暂存区删除
git rm [file1] [file2]
- 修改文件名,并将改名放入暂存
git mv [old-name] [new-name]
- 提交暂存区到仓库区
git commit -m [some comments]
- 提交自从上次提交后的所有变化
git commit -a
- 代码无变化,修改上次提交的相关信息
git commit --amend -m [message]
分支管理
- 列出所有本地分支
git branch
- 列出所有远程分支
git branch -r
- 列出所有分支,包含本地和远程
git branch -a
- 新建分支
git branch [branch-name]
- 切换新建分支
git checkout -b [branch-name]
- 切换到指定分支 ,并更新工作区
git checkout [branch-name]
- 切到上一个分支
git checkout -
- 删除分支
git branch -d [branch-name]
- 合并指定分支到当前分支
git merge [branch]
标签管理
- 列出所有标签
git tag
- 当前commit中新建tag
git tag [tag-name]
- 删除本地tag
git tag -d [tag-name]
- 查看tag信息
git show [tag]
查看信息
- 显示变更的文件
git status
- 显示当前分支版本历史
git log
- 显示commit历史,及每次的变化
git log --stat
- 显示暂存区和工作区的区别
git diff
- 显示工作区与当前分支最新commit之间的区别
git diff HEAD
- 显示两个分支的却区别
git diff [brach-1] [brach-2]
- 显示当前分支最近几次的提交
git reflog
远程仓管理
- 下载远程仓及全部代码历史
git clone [git-url or https-url]
- 下载远程仓的所有修改
git fetch [git-url or https-ur]
- 显示所有远程仓
git remote -v
- 读取远程仓,并与本地分支合并
git pull [remote] [branch]
- 删除远程分支
git push origin --delete [branch-name]
- 推送所有本地分支到远程
git push [git-url or https-url] --all
- 上传本地分支到远程仓
git push [git-url or https-url] [branch]