1、名词解释
- master: 默认开发分支
- origin: 默认远程版本库
- Index / Stage:暂存区
- Workspace:工作区
- Repository:仓库区(或本地仓库)
- Remote:远程仓库
2、新建代码库
- git init: 在当前目录新建一个Git代码库
- git init [progect-name]: 新建一个目录,将其初始化为Git代码库
- git clone [url]: 下载一个项目
3、配置
- git config --list: 显示当前Git的配置信息
- git config -e [--global]: 编辑Git配置文件
- git config [--global] user.name '[name]': 设置提交代码时的用户名
- git config [--global] user.email '[email address]': 设置提交代码时的用户邮件地址
4、操作文件
- git status: 查看状态
- git diff: 显示暂存区与工作区的差异
- git add [file1] [file2]: 添加指定文件到暂存区
- git add .:添加当前目录下的所有文件到暂存区
- git rm [file1] [file2]: 删除工作区文件,并且将这次删除放入暂存区
- git rm --cached [file]: 停止追踪指定文件,但该文件会保留在工作区
- git mv [file-original] [file-renamed]: 改名文件,并且将这个改名放入缓存区
.
5、代码提交
- git commit -m [message]: 提交暂存区到仓库区
- git commit [file1] [file2] -m [message]: 提交暂存区的指定文件到仓库区
- git commit -a: 提交工作区自上次commit之后的变化,直接到仓库区
- git commit -v: 提交时显示所有diff信息
- git commit --amend -m [message]: 如果代码没有任何变化,则用来改写上一次commit的提交信息
- git commit --amend [file1] [file2]: 重做上一次commit ,并包括指定文件的新变化
6、分支
- git branch: 显示所有本地分支
- git branch -r: 列出所有远程分支
- git branch -a: 列出所有本地分支与远程分支
- git branch [branch-name]: 新建一个分支,但依然停留在当前分支
- git branch --track [branch] [remote-branch]: 新建一个分支,与指定的远程分支建立追踪关系
- git branch -d [branch-name]: 删除分支
- git push origin --delete [branch-name]: 删除远程分支
- git checkout -b [branch]: 新建一个分支,并切换到该分支
- git checkout [branch-name]: 切换到指定分支,并更新工作区
- git checkout -: 切换到上一个分支
7、查看信息
- git log: 查看当前分支的版本历史
- git log --stat: 显示commit历史,以及每次commit发生变更的文件
- git log -S [keyword]: 根据关键字搜索提交历史
- git log --follow [file] git whatchanged [file]: 显示某个文件的版本历史,包括文件改名
- git log -p [file]: 显示指定文件相关的每一次diff
- git shortlog -sn: 显示所有提交过的用户,按照提交次数排序
- git blame [file]: 显示指定文件是什么人在什么时间修改
- git diff --cached [file]: 显示暂存区与上一个commit的差异
- git diff HEAD: 显示工作区与当前分支最新commit之间的差异
- git diff --shortstat "@{0 day ago}": 显示今天写了多少行代码
- git show [commit]: 显示某次提交的元数据和内容变化
- git show --name-only [commit]: 显示某次提交发生变化的文件
- git show [commit]:[filename]: 显示某次提交时,某个文件的内容
- git reflog: 显示当前分支的最近几次提交
8、远程操作
- git fetch [remote]: 下载远程仓库的所有变动
- git pull [remote] [branch]|: 获取远程仓库的变化,并与本地分支合并
- git remote -v: 显示所有远程仓库
- git remote show [remote] : 显示某个远程仓库的信息
- git remote add [shortname] [url] : 增加一个新的远程仓库,并命名
- git push [remote] --force : 强行推送当前分支到远程仓库,即使有冲突
- git push [remote] --all: 推送所有分支到远程仓库
- git push [remote] [branch] :上传本地指定分支到远程仓库
9、撤销
- git stash / git stash pop: 暂时将未提交的变化移除, 然后再移入
- git reset --hard [commit] : 重置当前分支HEAD为指定commit 同时重置暂存区和工作区,与指定commit一致
- git checkout . : 撤回所有修改内容
- git checkout [file]: 撤回某个文件的修改内容
网友评论