一、常用命令速查
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 匹配模式】