git中commit命令的确切含义是什么

iibxawm4  于 2022-11-27  发布在  Git
关注(0)|答案(5)|浏览(317)

提交是
一个commit,或“revision”,是对一个文件(或一组文件)的单独修改。它就像当你保存一个文件时,除了用Git,每次你保存它都创建一个唯一的ID(也叫“SHA”或“hash”),它允许你记录什么时候和谁做了什么修改。commit通常包含一个commit消息,它是对所做修改的简要描述。
但我没拿到
git和git hub中commit的确切含义是什么?

:-这不是任何Q的重复,我清楚git push

ohfgkhjo

ohfgkhjo1#

在你对你的代码做了修改之后,你将做“提交”。
提交设置一条关于你所做的更改的消息。提交还保存了代码的一个修订版本,你可以在任何时候通过一次单击将代码恢复到任何版本。
所有时间的完美例子就像一棵树.源代码树更精确.这将完美地解释git branch上的源代码树:

每提交其一个点上的“主人”,主人将是树干。
您可以在树中添加一个分支,并仅在此分支上添加更多提交。更改后,您可以将更改合并到主文件中。
所以总而言之,git被用作代码版本管理器。知道如何处理冲突,并将几个不同的版本合并成一个版本。
这是比较两个不同代码版本(提交)的屏幕截图

希望我对你有所帮助:)

5ssjco0h

5ssjco0h2#

提交是git中的一种“对象”,它标识并指定了提交时分支的“快照”。
对象是存储在.git/objects下的文件
例如:对象e6 f53 bc 19 b182 fed 6cd 580329747 f93393504389是一个存储在.git/objects/e6/f53 bc 19 b182 fed 6cd 580329747 f93393504389中的文件
如果该对象是一个提交,它将记录共同指定提交“快照”的其他对象。
通常,记录在提交中的“其他对象”只是两个其他对象-当前提交的父提交和指定实际文件的“树”对象。
你可以这样检查一个物体

$ git cat-file -p e6f53bc19b182fed6cd580329747f93393504389
tree 7cb95c95270b3f28a3cb6e2107f89dc7e950d93e
parent 507dbda38d769e8c69b3701cbd21a40b3a39206e
author xx <xx@xx.com> 1578053251 +0000
committer xx <xx@xx.com> 1578053251 +0000

my big commit message here!

就是这样,commit是一个保存在.git/objects中的文件,它指定了一个快照,包含了一个或多个对父commit的引用和一个对树对象的引用。
有3种类型的“git对象”
提交对象:包含对提交对象和树对象引用
树对象:包含对“blob”对象和树对象的引用
blob对象:包含文件内容,blob对象通常表示整个文件。

tv6aics1

tv6aics13#

提交对于软件开发人员来说就像检查点对于游戏玩家一样。
在视频游戏中,你可以有很多检查点(或保存文件)。当出现可怕的错误时,你可以加载以前的检查点,并从那里恢复。
假设你正在尝试修复一个bug并修改了一些代码行。如果你发现你的修改不起作用并破坏了代码的其他部分,你可以恢复到之前的提交,你知道它是正确的,并尝试不同的解决方案。一旦你有了一个有效的解决方案,你可以用你的修改创建一个新的提交。并且这给了您一个新的检查点以进行回退,而不必担心丢失您的进度。
一段时间后,您将看到代码中所有更改的历史记录,由一系列提交表示,这些提交告诉您:

  • 改变的原因是什么
  • 更改者
  • 何时进行更改
  • 唯一提交标识符
    commit history示例:

commit示例:

qoefvg9y

qoefvg9y4#

(Yes,老问题。但为了帮助网络搜索者...)
一个可能的混淆点是,在git行话中,“commit”既是名词又是动词。
作为名词:Git历史中的一个点;一个项目的整个历史被表示为一组相互关联的提交。2“提交”这个词经常被Git用在其他版本控制系统使用“修订”或“版本”的相同地方。3也被用作提交对象的简写。
作为动词:在Git历史记录中存储项目状态的新快照的操作,方法是创建一个表示索引当前状态的新提交,并将HEAD向前推进以指向新提交。
(See(第10页)

ecfsfe2w

ecfsfe2w5#

git commit命令捕获项目当前暂存更改的快照。提交的快照可以被认为是项目的“安全”版本a-Git永远不会更改它们,除非你明确要求它这样做。在执行git commit之前,git add命令用于提升或“暂存”将存储在提交中的项目更改。这两个命令git commit和git add是最常用的两个。

相关问题