基本操作
git status 查看文件处于什么状态
git status -s 带上-s参数,可以以更紧凑的格式输出文件状态信息
git add 开始追踪该文件或者暂存已修改的文件。
.gitignore 文件,忽略一些不希望跟踪的文件
git diff 查看已暂存和未暂存的文件的差异,未暂存的也就是当前目录下的当前文件
git diff --cached 查看已暂存的和待提交之间的差异
git commit -a 跳过使用暂存区域
相当于以下两条命令
git add files
git commit files
git rm 撤销跟踪文件
git mv 移动或重命名文件
查看提交历史
git log 查看提交历史,默认只显示提交时间,作者,SHA-1校验和
git log -p -2 -p参数表示查看提交的内容差异,-2表示查看最近两次的提交
git log --stat 只查看每次提交的简略信息,会列出本次提交所有被修改的文件列表
git log --since='Mon Dec 2 00:57:57 2019' --until='Mon Dec 2 01:29:21 2019' 只查看某个时间区间的提交
git log --author='username' 只显示指定的作者的提交历史
git log -S 'main' 对差异内容进行搜索,列出包含字符串 "main"的提交
git log --grep 'test' 对提交的注释进行搜索,列出包含字符串 "test"的提交
git checkout -- <file> 恢复工作区的内容,如果有暂存区版本,则用暂存区版本覆盖工作区版本,如果没有暂存区版本,则用已提交版本覆盖工作区版本
远程仓库的使用
git remote -v 显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL
git remote add <shortname> <url> 添加一个新的远程 Git 仓库,同时指定一个你可以轻松引用的简写
git fetch origin 从远程仓库"origin" 中拉取并合并到本地
git push origin master 将本地的提交推送到远程仓库"origin"的master分支
git remote show origin 查看远程仓库origin的详细信息
git remote rename origin pb 将远程仓库origin重命名为pb
git remote rm origin 移除远程仓库
使用git标签
给历史中的某一个提交打上标签
git tag 列出已有标签
git tag -l 'v1.8*' 只显示包含"v1.8"的标签
git tag -a v2.1.3 -m 'my version 2.1.3' 给提交打标签 -m 指定该标签的附注
git tag v1.1 轻量标签, 只需要指定标签名称,不需要输入附注
git tag -a v3.4 9fceb02 补打标签,如果提交的时候忘记打标签,可通过指定提交的部分校验和来补上标签
git tag -d 1.2 删除标签
为git命令设置别名
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
使用分支
git branch <branchName> 创建新的分支
git checkout <branchName> 切换分支
git checkout -b iss53 创建iss53分支,并立即切换到该分支,-b参数表示同时切换到该分支
切换分支前,最好将暂存区的内容先提交,否则可能会产生冲突
git branch -d iss53 删除iss53分支
git merge hotfix 将hotfix分支合并到master分支,假设当前所在分支是master