为什么在git中添加和提交? [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么在git中添加和提交? [重复]相关的知识,希望对你有一定的参考价值。

我是的新手,我问我为什么必须使用'git add'和'git commit'将文件提交到我的存储库中。


使用我尝试的所有IDE只需单击一次即可提交文件。这意味着IDE结合了“添加”和“提交”,对吧?!

所以我找不到为什么编程这两个命令都有意义的原因。

答案

更改可以分布在多个文件中,您可以在一次提交中捆绑所有这些更改,并清楚标明您已完成的操作。

例如,在Web开发中,当您创建新页面时,您可能已经更改了多个文件。您的提交消息可能是:Add index page包含文件:

  • 的index.html
  • 的script.js
  • ...

将此推送到远程后,下拉的人将获得一个稍微完成的索引页面,而不是只有一个文件。

另一答案

git中的索引就像一个预检区域,您可以在其中准备下一个提交的内容。

如果你使用某些IDE或者你一直使用-a,你基本上可以忽略它的存在。有些人这样做。在最简单的情况下,它可能不是一个糟糕的选择。

然而,随着复杂性的增加,不能更有效地与它进行交互变得越来越困难,从更好的理解开始。

更多细节在这里:

What does the git index contain EXACTLY?

也许在那里?

Understanding git - Index

另一答案

和其他基于云的/ 存储库系统之间存在细微差别。其中之一就是有一个所谓的“staging area”。

git add

  • 中,在您的存储库中更新文件之前,首先将它添加到所谓的staging area中。正如函数的名称所暗示的那样,这是通过git add命令完成的。
  • 在暂存阶段,您告诉您的您要更新哪些文件。这也意味着,如果您改变主意,可以删除临时区域中的某些更新。

git commit

  • 一旦您生成了一个您认为可以发布到存储库的版本,就可以提交更改,以便您和其他人可以看到它们。
  • 再次,命令命名派生自所描述的操作,所以在这种情况下,它将是git commit,它提交你在临时区域中提出的更改(通过git add)。

所以不同的是,如果你使用互联网浏览器将文件直接上传到存储库,你基本上跳过了git add阶段,你做了git commit文件直接进入存储库。

现在,如果你有一个git项目,你只管理自己,那么是的,git add对你来说基本没用。但是,在一个大型项目中,你有多个人在工作,你想确保你不会覆盖人们的代码,或者只是想确保你做正确的版本管理,正确使用集结区。

主要优点之一是,在提交阶段,您通常不提交单个文件,但是多次更改,这使得更容易跟踪谁做了什么,而不是逐个查找每个文件。

欲了解更多信息(不仅仅是)git addgit commit我会彻底推荐学习this guide。至少在个人方面,我仅凭这种资源就能流利地使用

以上是关于为什么在git中添加和提交? [重复]的主要内容,如果未能解决你的问题,请参考以下文章

忽略 Git 提交 [重复]

如何管理在每个 git 版本中添加私有代码片段?

Git挂在状态添加提交

在 Git 中提交部分数据

Git one-liner 添加所有内容(包括未跟踪的文件)并提交 [重复]

用于一次性添加(不提交)所有新文件的 Git 命令 [重复]