git基础命令(一)

目录

用于知识记录。后续有新的的内容,例子,将持续更新本文档。

基础概念

工作树:git add 之前,变动内容的文件列表(包括新增,修改,删除的内容)

暂存区/索引:变动内容,git add之后,git commit之前。

git status

显示工作树状态
$ git status

添加-s选项将只显示已更改的文件名。

添加-s选项,后面再接-b选项,将在输出中包含分支名称。

git add

$ git add <filepattern>

复制代码
git add file
git add *.txt
# 将所有的修改内容,包括删除的全都加到索引
git add .

把文件或目录加到暂存区
-p选项,系统将提示您接受/拒绝已更改文件的特定部分。
-i选项,则可以交互式地暂存更改。

git diff

$ git diff

在默认情况下,diff 命令将会显示工作树和索引之间的差异。(就是git add 之前的内容和最后一次提交(HEAD 指向的提交)之间的差异)
--cached选项,将显示索引和 HEAD 之间的差异。(很有用;git add之后的内容即暂存区内容和最后一次提交( HEAD 指向的提交)之间的差异)

如果您指定提交哈希 commit-id,将会显示工作树和当前的 HEAD/提交之间的差异

在 Git 中,git diff --cached 选项用于比较暂存区(也称为索引区,即 git add 后的状态)和最后一次提交(HEAD指向的提交)之间的差异。这个命令可以让你查看即将提交的更改,而不是工作目录中的更改。

具体来说,git diff --cached 的作用包括以下几点:

  • 比较暂存区和最后一次提交之间的差异:git diff --cached 会显示已经暂存但尚未提交的更改与最后一次提交之间的差异,这样你可以查看即将提交的内容。
  • 查看即将提交的更改:通过这个命令,你可以检查哪些更改已经暂存,即将包含在下一次提交中。这有助于审查和确认即将提交的更改是否符合预期。
  • 用于准备提交前的检查:git diff --cached 常用于在实际提交之前进行最后的检查,确保即将提交的更改是正确的,并且没有遗漏或错误。

总的来说,git diff --cached 是一个有用的命令,可以帮助你审查暂存区的更改,了解即将提交的内容,以便在提交前进行必要的调整和确认。

git log

显示提交日志

复制代码
git log  # 默认显示当前分支的提交列表
git log filename # 指定显示某个文件的log记录
git log -n 2  #指定显示两条记录

在默认情况下,日志将会显示当前分支的提交列表。

指定文件名将仅显示该给定文件的提交日志

git commit

$ git commit

将更改提交到本地存储库
-a 选项就像一个快捷方式,可以检测更改的文件 (新添加的文件除外),将它们添加到索引, 并提交它们。
-m选项允许您同时提交和指定提交消息。如果您不指定-m,将打开一个文本编辑器,提示您输入提交消息。
--amend 将新的更改加到最新commit里,(已经git commit但还没合入到远端仓库

例如:
git commit -m "feat(xxx): add a.txt"

在Git 中,git commit -a 选项用于将所有已经跟踪(tracked )的文件的更改一起提交到版本库,而不需要先使用 git add 命令将这些更改暂存(stage )起来。这个选项的作用相当于同时执行 git add -u git commit

具体来说,git commit -a 的作用包括以下几点:

  • 自动暂存已跟踪文件的更改:git commit -a 会自动将所有已经被 Git 跟踪的文件的更改暂存起来,这样这些更改就可以被包含在接下来的提交中。
  • 提交更改:一旦文件的更改被暂存,执行 git commit -a 将会打开文本编辑器以编写提交信息,并将这些更改作为一个新的提交保存到版本库中。
  • 方便快捷:使用 -a 选项可以简化提交流程,特别是对于那些只需提交已跟踪文件更改的情况,而不需要添加新文件或者需要忽略一些文件。
    需要注意的是,git commit -a 只会提交已经被 Git 跟踪的文件的更改,对于新添加的文件(untracked files)则不会包含在提交中。如果想要将新添加的文件也包含在提交中,需要先使用 git add 命令将这些文件暂存起来,然后再执行 git commit

文件可以处于以下三种状态之一

  • 已修改
  • 已暂存
  • 已提交

远程存储库与本地存储库

Git 存储库有两种类型:远程和本地。

  • 远程存储库托管在远程服务器上 (这可以在互联网上或异地服务器上;它甚至可以是不同路径中的同一台机器) 并在多个团队成员之间共享。
  • 本地存储库为单个用户托管在本地机器上。

参考

适合初学者的简单 Git 教程

相关推荐
高山莫衣5 小时前
git rebase多次触发冲突
大数据·git·elasticsearch
码农藏经阁6 小时前
工作中常用的Git操作命令(一)
git
kobe_OKOK_6 小时前
【团队开发】git 操作流程
git·elasticsearch·团队开发
码农垦荒笔记6 小时前
Git 安装闭坑指南(仅 Windows 环境)
windows·git
CC码码16 小时前
管理你的多个 Git 密钥(多平台多账号)
git·gitlab·github
CC码码16 小时前
管理你的多个 Git 密钥(单平台多账号)
git·gitlab·github
大卫小东(Sheldon)16 小时前
GIM 1.5发布了! 支持Windows系统了
git·ai·rust
flying jiang16 小时前
将大仓库拆分为多个小仓库
git
李boyang10 天前
Git(四):远程操作
git
荻野泽溪10 天前
Git新建分支并同步到远程
git