一、常用命令速查
1. 创建版本库
命令 | 说明 |
---|---|
$git clone git:github.com/ * .git | # 克隆远程版本库 |
$git init | # 初始化本地版本库 |
2. 修改和提交
命令 | 说明 |
---|---|
$git status | # 查看状态(分支、提交情况) |
$git diff | # 查看变更内容 |
$git diff HEAD | # 查看与上次提交的差别 |
$git add . | # 跟踪所有改动过的文件 |
$git add <file> | # 跟踪指定的文件 |
$git rm <file> | # 删除文件 |
$git rm --cached <file> | # 停止跟踪文件但不删除 |
$git mv <old><new> | # 文件/目录移动或改名 |
$git commit | # 提交所有更新过的文件(下一步为记录提交信息 = 概述 + 详细内容) |
$git commit -m "commit message" | # 只记录一行提交概述信息同时提交更新的文件 |
$git commit --amend | # 修改最后一次提交 |
3. 查看提交历史
命令 | 说明 |
---|---|
$git log | # 查看提交历史 |
$git log <file/directory> | # 查看指定文件(目录)的提交历史 |
$git log -p <file> | # 查看指定文件的提交改动之处 |
$git log --graph | # 以图表形式查看分支 |
$git log --pretty=short | # 查看最近一次提交 |
$git blame <file> | # 以列表方式查看指定文件的提交历史 |
4. 撤销
命令 | 说明 |
---|---|
$git reset --hard | # 撤销工作目录中所有未提交文件的修改内容 |
$git checkout HEAD <file> | # 撤销指定的文提交文件的修改内容 |
$git revert <commit> | # 撤销指定的提交 |
5. 分支与标签
命令 | 说明 |
---|---|
$git branch | # 显示所有本地分支 |
$git checkout <branch/tag> | # 切换到指定分支或标签 |
$git checkout - | # 切换到上一个分支 |
$git checkout -b <branch> | # 创建并切换到新的分支 |
$git branch <new-branch> | # 创建新分支 |
$git branch -d <branch> | # 删除本地分支 |
$git tag | # 列出所有本地标签 |
$git tag <tagname> | # 基于最新提交创建标签 |
$git tag -d <tagname> | # 删除标签 |
6. 合并与衍合
命令 | 说明 |
---|---|
$git merge <branch> | # 合并指定分支到当前分支(在 master 分支下进行) |
$git merge --no--ff <branch> | # 同上,并记录本次分支合并 |
$git rebase <branch> | # 衍合指定分支到当前分支 |
7. 远程操作
命令 | 说明 |
---|---|
$git remote -v | # 查看远程版本库信息 |
$git remote show <remote> | # 查看指定远程版本库信息 |
$git remote add <remote> <url> | # 添加远程版本库 |
$git fetch <remote> | # 从远程库获取代码 |
$git pull <remote> <branch> | # 下载代码及快速合并 |
$git push <remote> <branch> | # 上传代码及快速合并 |
$git push <remote> :<branch/tag-name> | # 删除远程分支或标签 |
$git push --tags | # 上传所有标签 |
8. 查看帮助
命令 | 说明 |
---|---|
$git help | # 查看各种命令菜单 |
$git help <> |
二、.gitignore 文件
- 注释行以(
#
)开头 - 忽略指定文件或目录(
/
)之外的以(!
) 开头 -
*.txt
忽略某一后缀的所有文件【glob 匹配模式】