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 小时前
探索 3 个有趣的 GitHub 学习资源库
经验分享·git·学习·github
F_D_Z9 小时前
【解决办法】git clone报错unable to access ‘xxx‘: SSL certificate problem:
网络·git·网络协议·ssl
等风来不如迎风去14 小时前
【git】main|REBASE 2/6
git
艾伦~耶格尔14 小时前
IDEA 配置 Git 详解
java·ide·git·后端·intellij-idea
云兮杜康14 小时前
IDEA中用过git之后文件名颜色全变红
java·git·intellij-idea
睡不醒的小泽14 小时前
git merge 和 git rebase
git
艾伦~耶格尔14 小时前
Git 下载及安装超详教程(2024)
git·gitee·码仓
weixin_4381973815 小时前
linux部署redis,整合ansible和redis
linux·redis·git
安全在心中15 小时前
gitee公钥设置、创建库及使用
git·gitee
无条件做异梦1 天前
git维护【.gitignore文件】
git