git init <目录>
**初始化本地仓库 **
directory 是可选的,默认当前目录
创建一个名为** .git **子目录,这个子目录含有初始化的 Git 仓库中所有的必须文件,项目里的文件还没有被跟踪。
git clone <地址>
克隆仓库,添加远程仓库
从远程仓库拉取下所有数据放入 **.git **文件夹,然后从中读取最新版本的文件的拷贝。
git status
查看当前存储库的状态
git status -s 命令或 git status --short 命令查看(格式更为紧凑)。
git log
显示提交日志信息
例:git log -p -2
-p 或 --patch 显示每次提交所引入的差异
-2 选项来只显示最近的两次提交
例:git log --stat
查看提交的简略统计信息
例:git log --pretty=oneline
--pretty 使用不同默认格式的方式展示提交历史 (oneline,short,full,fuller)
例:git log --pretty=format:"%h - %an, %ar : %s
format 定制记录的显示格式
git log --pretty=format 常用的选项
选项说明%H
提交的完整哈希值
%h
提交的简写哈希值
%T
树的完整哈希值
%t
树的简写哈希值
%P
父提交的完整哈希值
%p
父提交的简写哈希值
%an
作者名字
%ae
作者的电子邮件地址
%ad
作者修订日期(可以用 --date=选项 来定制格式)
%ar
作者修订日期,按多久以前的方式显示
%cn
提交者的名字
%ce
提交者的电子邮件地址
%cd
提交日期
%cr
提交日期(距今多长时间)
%s
提交说明
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 log --pretty="%h - %s" --author='xiaoming' --since="2024-03-01" -before="2024-03-02" --no-merges -- t 查看时间<20240301-20240302>之间,作者<xiaoming> 除了合并提交----no-merges 之外的哪一个提交修改了测试文件
.gitignore 文件
记录忽略的文件
文件格式规范
- 所有空行或者以
#
开头的行都会被 Git 忽略。- 可以使用标准的 glob 模式匹配,它会递归地应用在整个工作区中。
- 匹配模式可以以(
/
)开头防止递归。- 匹配模式可以以(
/
)结尾指定目录。- 要忽略指定模式以外的文件或目录,可以在模式前加上叹号(
!
)取反。# 忽略所有的 .a 文件*.a # 但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件!lib.a # 只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO/TODO # 忽略任何目录下名为 build 的文件夹build/ # 忽略 doc/notes.txt,但不忽略 doc/server/arch.txtdoc/*.txt # 忽略 doc/ 目录及其所有子目录下的 .pdf 文件doc/**/*.pdf
git diff
查看尚未暂存的文件更新了哪些部分
例:git diff --staged 这条命令将比对已暂存文件与最后一次提交的文件差异
例:git diff --cached 查看已经暂存起来的变化
git add <文件>
添加文件到暂存区
使用 **git add . **要添加当前目录中的所有文件
使用 git add 表示开始跟踪一个文件
git commit
提交命令
例:git commit -m"<自定义提交信息>"
例:**git commit -a -m "<自定义提交信息>" **跳过使用暂存区域,把所有已经跟踪过的文件暂存起来一并提交
例:git commit --amend 撤消操作
git reset
撤销操作
例:**git reset <文件> **取消暂存的文件
例:**git reset <commit id> **重置提交
例:git reset --hard <commit id> --hard 标志来删除所有更改
git rm <文件>
从存储库中删除文件
git rm --cached <文件> --cached 标志将其从暂存区中删除。
例:**git rm *~ **删除所有名字以 ~ 结尾的文件。
git mv <当前文件地址> <新文件地址>
**移动或重命名文件 **
git remote
**查看远程仓库 **
例:git remote -v 显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL
例:git remote add <shortname> <url> 添加一个新的远程 Git 仓库,同时指定一个方便使用的简写
版权归原作者 林清玉 所有, 如有侵权,请联系我们删除。