0


git 命令行 整理文档(一)

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 仓库,同时指定一个方便使用的简写

标签: git

本文转载自: https://blog.csdn.net/weixin_66143279/article/details/136397810
版权归原作者 林清玉 所有, 如有侵权,请联系我们删除。

“git 命令行 整理文档(一)”的评论:

还没有评论