目录
- • 查看帮助
- • 配置
- • 创建Git仓库
- • 克隆仓库
- • 查看状态
- • 跟踪文件
- • 提交文件
- • 移除文件
- ⑴从工作区手动移除文件
- ⑵从Git仓库中移除文件
- ⑶从暂存区移除文件
- • 撤销
- • 查看提交历史
- • 回退版本
- • 远程仓库
- ⑴查看远程仓库
- ⑵添加远程仓库
- ⑶从远程仓库抓取
- ⑷推送到远程仓库
- ⑸删除远程分支
- ⑹重命名远程仓库
- ⑺移除远程仓库
- • 分支
- ⑴创建分支
- ⑵切换分支
- ⑶创建分支并切换到该分支
- ⑷合并分支
- ⑸删除分支
- ⑹查看分支
- • 标签
- • 文件编辑
- 文档
链接: Git•Documentation•Reference•Quick reference guides: GitHub Cheat Sheet | Visual Git Cheat Sheet
• 查看帮助
⑴查看帮助
$ git -h
#或
$ git --help
#或
$ git help
⑵查看命令的手册页
(比如 git help config )
$ git help <command>
#或
$ git -h <command>
⑶查看命令的参数选项
(比如 git config -h )
$ git <command> -h
⑷查看Git手册页
$ git help git
• 配置
⑴配置用户名和邮件地址
①配置用户名
$ git config --global user.name "用户名"
②配置邮件地址
$ git config --global user.email 邮件地址
⑵查看配置
①列出配置
$ git config -l
#或
$ git config --list
②查看所有的配置及配置所在文件
$ git config -l --show-origin
③查看全局配置
$ git config --global -l
• 创建Git仓库
创建一个新的Git仓库
#将本地目录初始化为Git仓库
$ git init
#跟踪所有文件
$ git add .
#提交(使用给定的<msg>作为提交消息)
$ git commit -m <msg>
推送到GitHub
#使用git remote add命令将远程URL和默认远程仓库简写(origin)相关联
$ git remote add origin <url>
#重命名分支
$ git branch -M main
#推送(首次推送)
$ git push -u origin main
• 克隆仓库
(比如 git clone git@github.com:xxx/repositoryName.git)
$ git clone <url>
• 查看状态
⑴显示状态
$ git status
⑵精简显示状态
$ git status -s
#或
$ git status --short
• 跟踪文件
⑴跟踪指定文件
(跟踪指定文件并将该文件放入暂存区;把已跟踪、且已修改的文件放入暂存区;把有冲突的文件标记为已解决状态)
$ git add <文件>
⑵跟踪所有文件
$ git add .
• 提交文件
⑴将暂存区内容提交到Git目录
$ git commit -m <msg>
⑵跳过暂存区提交内容到Git目录
$ git commit -a -m <msg>
• 移除文件
⑴从工作区手动移除文件
(手动移除文件后,运行 git rm <文件名> 记录移除,在下次提交时,文件就不纳入版本管理了)
$ git rm <文件>
⑵从Git仓库中移除文件
①从Git仓库和工作区中同时移除对应文件
$ git rm -f <文件>
②移除Git仓库的文件,保留工作区的文件
$ git rm --cached <文件>
⑶从暂存区移除文件
①从暂存区移除指定文件
$ git reset HEAD <文件>
②从暂存区移除所有文件
$ git reset HEAD .
• 撤销
⑴撤销对文件的修改
①撤销对指定文件的修改
$ git checkout -- <文件>
②撤销对所有文件的修改
$ git checkout .
⑵修改提交的说明
$ git commit --amend
⑶其他
- 文档
链接: GitLab•文档中心•Git•Git 撤销
• 查看提交历史
⑴显示提交历史
$ git log
⑵显示提交历史(最近数量的提交历史)
(比如 git log -2 显示最近2次的提交历史)
$ git log -数量
⑶显示提交历史(按行显示+简写/完整哈希值)
#按行显示提交历史(简写哈希值)
$ git log --oneline
#按行显示对应数量的提交历史(简写哈希值)
$ git log -数量 --oneline#按行显示提交历史(完整哈希值)
$ git log --pretty=oneline
#按行显示对应数量的提交历史(完整哈希值)
$ git log -数量 --pretty=oneline
⑷显示提交历史(简略统计信息)
$ git log --stat
⑸显示提交历史(定制记录的显示格式)
(比如 git log --pretty=format:“%H - %s, %cd”)
$ git log --pretty=format:"格式"
表格: git log --pretty=format 常用的选项
选项 | 说明 |
---|---|
%H | 提交的完整哈希值 |
%h | 提交的简写哈希值 |
%T | 树的完整哈希值 |
%t | 树的简写哈希值 |
%P | 父提交的完整哈希值 |
%p | 父提交的简写哈希值 |
%an | 作者名字 |
%ae | 作者的电子邮件地址 |
%ad | 作者修订日期(可以用 --date=选项 来定制格式) |
%ar | 作者修订日期,按多久以前的方式显示 |
%cn | 提交者的名字 |
%ce | 提交者的电子邮件地址 |
%cd | 提交日期 |
%cr | 提交日期(距今多长时间) |
%s | 提交说明 |
• 回退版本
查看提交历史
$ git log --oneline
指定版本
$ git reset --hard <提交的哈希值>
重新查看提交历史
$ git log --reflog --oneline
重新指定版本
$ git reset --hard <提交的哈希值>
• 远程仓库
⑴查看远程仓库
①查看远程仓库的名字
$ git remote
②查看远程仓库使用的Git保存的简写与其对应的URL
$ git remote -v
③查看某个远程仓库
(比如 git remote show origin)
$ git remote show <远程仓库>
⑵添加远程仓库
(比如 git remote add origin git@github.com:xxx/repositoryName.git )
$ git remote add <远程仓库> <url>
⑶从远程仓库抓取
$ git pull
⑷推送到远程仓库
①推送(首次推送)
(比如 git push -u origin main )
$ git push -u <远程仓库> <分支>
②推送分支到远程仓库
(比如 git push origin main(推送main分支到origin远程仓库))
$ git push <远程仓库> <分支>
③推送
$ git push
⑸删除远程分支
$ git push <远程仓库> --delete <分支>
⑹重命名远程仓库
$ git remote rename <旧名> <新名>
⑺移除远程仓库
$ git remote remove <远程仓库>
#或
$ git remote rm <远程仓库>
• 分支
⑴创建分支
$ git branch <分支名>
⑵切换分支
$ git checkout <目标分支名>
⑶创建分支并切换到该分支
$ git checkout -b <分支名>
⑷合并分支
$ git merge <需要合并进来的的分支名>
⑸删除分支
$ git branch -d <分支>
⑹查看分支
①列出所有的分支列表
$ git branch
②列出已经合并到当前分支的分支
$ git branch --merged
③列出尚未合并到当前分支的分支
$ git branch --no-merged
• 标签
⑴列出已有标签
$ git tag
⑵创建标签
①创建轻量标签
(比如 git tag v1.0 )
$ git tag <标签名>
②创建附注标签
(比如 git tag -a v1.1 -m “version 1.1” )
$ git tag -a <标签名> -m <msg>
⑶查看标签
$ git show <标签名>
⑷推送标签到远程仓库
①推送指定标签
$ git push origin <标签名>
②推送所有不在远程仓库的标签到远程仓库
$ git push origin --tags
⑸删除标签
①删除本地标签
$ git tag -d <标签名>
②删除远程标签
$ git push origin --delete <标签名>
• 文件编辑
命令 | 描述 | 示例 |
---|---|---|
cd < path > | 切换到指定目录 | |
cd .. | 返回上级目录 | |
ls | 列出当前目录中的内容 | |
ls a* | 列出当前目录中以 ‘a’ 开头的文件 | |
ls *.txt | 列出当前目录中以 ‘.txt’ 结尾的文件 | |
mkdir < 目录名 > | 创建一个新的目录 | |
cat < path > | 显示之前创建的文本文件的内容 | |
pwd | 显示当前路径 | |
clear | 清除 shell 终端 |