1. 配置
1.1配置用户名
git config --global user.name "<name>"
1.2 配置邮箱
git config --global user.email "<email address>"
2. 创建仓库(create)
2.1 克隆一个存在的仓库
git clone <url>
2.2 创建一个新的本地仓库,并设置名字
git init <project name>
3. 本地更改(local caches
)
3.1 跟踪文件状态,列出所有新建或更改的文件
git status
3.2 跟踪文件更改,展示没有暂存文件的差异
git diff
3.3 添加所有新增和改变的文件到版本控制
git add .
3.4添加指定文件到版本控制
git add -p <file name>
3.5 提交文件到暂存区
git commit -am <"descriptive message">
要了解
git commit -m
与git commit -am
的区别,首先要明白它们的定义: 字面解释的话,git commit -m
用于提交暂存区的文件
,git commit -am
用于提交跟踪过的文件
[注意]git commit -am
可以写成git commit -a -m
,但不能写成git commit -m -a
文件状态
工作目录下面的所有文件都不外乎这两种状态:已跟踪(tracked
)或未跟踪(untracked
)。已跟踪的文件是指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未更新(unmodified
),已修改(modified
)或者已放入暂存区(staged
)
3.6 修改最后一次提交(!不要修改已经发布的提交)
git commit --amend
4. 提交历史(commit history)
4.1列出当前分支的版本历史
git log
4.2 列出指定文件的版本历史
git log --follow <file>
4.3列出谁在什么时候改变了什么文件
git blame <file>
5.分支和标签(branches & tags)
5.1列出现有的分支
git branch -av
5.2 切换分支
git checkout <branch>
5.3 创建新分支
git checkout -b <new-branch>
5.4删除新分支
git checkout -d <branch>
5.5 给本次提交打标签
git tag <tag-name>
6. 更新和发布(update & publish)
6.1 列出所有远程主机
git remote
6.2列出远程主机的网址
git remote -v
6.3 查看该主机的详细信息
git remote show <remote>
6.4 添加远程主机
git remote add <remote> <url>
6.5 将某个远程主机的更新全部取回本地
git fetch <remote>
6.6 取回某个远程主机的特定分支到本地
git fetch <remote> <branch>
6.7 取回远程主机某个分支的更新,并与本地指定分支合并
git pull <remote> <remote-branch>:<local-branch>
6.8 取回远程主机某个分支的更新,并与本地当前分支合并
git pull <remote> <branch>
6.9 提交本地修改到远程
git push <remote> <branch>
7. 合并和变基(merge & rebase)
7.1 合并某个分支到当前分支
git merge <branch>
7.2 变基(!不要变基已经发布的提交)
git rebase <branch>
8.撤销(undo)
8.1放弃更改并回到某个特定的提交
git reset --head HEAD
8.2 撤销所有之后的提交
git reset <commit>