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 教程

相关推荐
晓理紫3 小时前
使用git lfs向huggingface提交较大的数据或者权重
git
我不是程序猿儿5 小时前
【GIT】sourceTree的“当前分支“,“合并分支“与“检出分支的区别
git
_OLi_12 小时前
IDEA中新建与切换Git分支
java·spring boot·git
PyAIGCMaster15 小时前
ubuntu下安装 git 及部署cosyvoice(1)
git
维__kxs766716 小时前
小程序 + AI 自动直播:一部手机开启抖音挂载小程序流量主变现之旅
git·eclipse
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ1 天前
GIT GUI和 GIT bash区别
开发语言·git·bash
zhuyan1081 天前
【git】使用记录
git
KrisZhang101 天前
Git分支
git·1024程序员节
孤影&碧空1 天前
书生大模型第三关Git 基础知识
git
code .1 天前
git使用的一般流程
git