获取Git仓库
- 在已存在目录中初始化仓库
git init
- 克隆现有仓库
git clone <url>
记录每次更新到仓库
- 检查当前文件状态
git status
- 跟踪新文件
git add xxx
- 状态简览
新添加的未跟踪文件前面有 ?? 标记,新添加到暂存区中的文件前面有 A 标记,修改过的文件前面有 M 标记。 - 忽略文件
需要创建一个名为 .gitignore 的文件 - 提交更新
git commit
commit命令后添加-m选项,将提交信息与命令放在同一行
git commit -m "first commit"
- 跳过使用暂存区域
在提交时,给git commit加上-a选项,Git就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过git add步骤。但有时这个选项会将不需要的文件添加到提交中。 - 移除文件
git rm
如果要删除之前修改过或已经放到暂存区的文件,必须使用强制删除-f选项。
让文件保留在磁盘,又不想让Git继续跟踪。(尤其是忘记添加.gitignore文件时)。使用--cached选项
git rm --cached README
- 移动文件
在Git中对文件改名
git mv file_from file_to
查看提交历史
-
回顾提交历史
git log 的常用选项
git log
选项 说明 -p 按补丁格式显示每个提交引入的差异。 --stat 显示每次提交的文件修改统计信息。 --shortstat 只显示 --stat 中最后的行数修改添加移除统计。 --name-only 仅在提交信息后显示已修改的文件清单。 --name-status 显示新增、修改、删除的文件清单。 --abbrev-commit 仅显示 SHA-1 校验和所有 40 个字符中的前几个字符。 --relative-date 使用较短的相对时间而不是完整格式显示日期(比如“2 weeks ago”)。 --graph 在日志旁以 ASCII 图形显示分支与合并历史。 --pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline、short、full、fuller 和 format(用来定义自己的格式)。 --oneline --pretty=oneline --abbrev-commit 合用的简写。 -
限制输出长度
限制git log 输出的选项选项 说明 -n 仅显示最近的 n 条提交。 --since, --after 仅显示指定时间之后的提交。 --until, --before 仅显示指定时间之前的提交。 --author 仅显示作者匹配指定字符串的提交。 --committer 仅显示提交者匹配指定字符串的提交。 --grep 仅显示提交说明中包含指定字符串的提交。 -S 仅显示添加或删除内容匹配指定字符串的提交。
撤销操作
- 注意:有些操作是不可逆的,使用撤销操作前最好再查一下
- 新的提交替换旧的提交 例子如下:
git commit -m 'inital commit'
git add forgotten_file
git commit --amend
远程仓库的使用
- 查看远程仓库
git remote
- 添加远程仓库
git remote add <shortname> <url>
- 从远程仓库中抓取与拉取
git fetech <remote>
- 推送到远程仓库
git push <remote> <branch>
- 远程仓库的重命名与移除
git remote rename
打标签
- 列出标签
git tag
- 创建标签
创建附注标签:
git tag -a v1.0 "my version 1.0"
创建轻量标签,只需要提供标签名字:
git tag v1.0.0
- 共享标签
git push origin <tagname>
一次性推送很多标签:
git push origin --tags
- 删除标签
git tag -d <tagname>
Git别名
- 一些例子:
git config --global alias.co checkout
git config --global alias.ct commit