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

时间:2017-05-15 01:56:54

标签: git github git-commit

提交是

  

提交或“修订”是对文件(或一组文件)的单独更改   文件)。这就像你每次保存文件一样,除了Git   你保存它创建一个唯一的ID(a.k.a。“SHA”或“哈希”)   允许您记录何时以及由谁做出的更改。   提交通常包含提交消息,这是一个简短的描述   做了什么改变。

但我没有得到它

git和git hub中commit的确切含义是什么?

注意 : - 这不是任何问题的重复我清楚git push

5 个答案:

答案 0 :(得分:2)

在对代码进行更改后,您将执行" commit"。

提交设置有关您所做更改的消息。 提交还保存了代码的修订版,您可以随时将代码还原为任何版本。

所有这一切的完美例子就像一棵树。源代码树更精确。这将非常适合解释源树上的git branch

Git Sourcetree

Evry在" master"上提出要点,主人将是树干。

您可以向树添加分支,并仅在此分支上添加更多提交。 更改后,您可以将更改合并到主服务器。

总而言之,git被用作代码版本管理器。知道如何处理冲突并将几个不同版本合并为一个版本。

这是比较两个不同代码版本(提交)的屏幕截图

comparing two different commits on PhpStorm IDE

希望我帮助过你:)

答案 1 :(得分:0)

提交是您在git中更改1个或多个文件的地方。它会跟踪每次提交之间所做的更改。

答案 2 :(得分:0)

(是,以前的问题。但是要帮助网络搜索者...)

一个可能的混淆点是,在git lingo中,“ commit”既是名词又是动词。从其词汇表

  

作为名词:Git历史中的单个点;项目的整个历史记录都表示为一组相互关联的提交。 Git经常在其他修订控制系统使用“修订”或“版本”的地方使用“提交”一词。也用作提交对象的简写。

     

动词:通过创建代表索引当前状态的新提交并前进HEAD指向新提交的操作,在Git历史记录中存储项目状态的新快照的操作。

(请参见https://git-scm.com/docs/gitglossary

答案 3 :(得分:0)

提交是git中的“对象”,在提交时标识并指定分支的“快照”。

对象是存储在.git / objects下的文件

例如:对象e6f53bc19b182fed6cd580329747f93393504389是存储在.git / objects / e6 / f53bc19b182fed6cd580329747f93393504389中的文件

如果对象是提交,它将记录其他一起指定提交“快照”的对象。

通常,提交中记录的“其他对象”只是另外两个对象-当前提交的父提交和指定实际文件的“树”对象。

您可以这样检查对象

$ 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!

就是这样。提交是存储在.git / objects中的文件,用于指定快照。它包含对父提交的一个或多个引用以及对树对象的引用。

“ git对象”有3种类型

提交对象:包含对提交对象和树对象的引用

树对象:包含对“ blob”对象和树对象的引用

blob对象:包含文件内容,blob对象通常代表整个文件。

答案 4 :(得分:0)

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