Git:添加vs推送vs提交

问题描述

| git
add
push
commit
有什么区别? 来自SVN的消息有些混乱,其中\“ update \”将\'添加\'的东西,而commit则执行\“ push \”并且也将\'add \' git中有所有不同的功能。希望从您的经验中得到一些解释。     

解决方法

git add
将您修改的文件添加到队列中,以便稍后提交。文件未提交
git commit
提交已添加的文件并创建带有日志的新修订...如果不添加任何文件,则git将不提交任何内容。您可以将两个动作与ѭ5组合使用
git push
将您的更改推送到远程存储库。 这个git备忘单中的图很好地说明了工作流程 figure3ѭ未出现在图中,因为建议的提交方式是the5ѭ的组合,但是您可以在更改块上添加一个
git add
以了解流程。 最后,
push
是一个单独的命令的原因是由于
git
的哲学。
git
是一个分布式版本控制系统,您的本地工作目录就是您的存储库!您提交的所有更改都会立即反映并记录下来。
push
仅在完成处理的工作后才用于更新远程存储库(您可能会与他人共享)。这是一种在本地工作和保存更改(没有网络开销)并仅在需要时更新它的方法,而不是每次提交时都进行更新的一种好方法。这间接导致更容易的提交/分支等(为什么不对,对吗?要花多少钱?),这导致更多的保存点,而不会弄乱存储库。     ,
git add
选择更改
git commit
本地记录更改
git push
股份变动     ,“ 3”将文件添加到Git索引,该索引是准备提交的对象的暂存区。 “ 4”将索引中的文件提交到存储库中,“ 5”是将所有已修改的跟踪文件首先添加到索引的快捷方式。 “ 6”将所有待处理的更改发送到分支所映射到的远程存储库(例如,在GitHub上)。 为了了解Git,您不仅需要浏览文档,还需要付出更多的努力,但这绝对是值得的。只是不要尝试将Git命令直接映射到Subversion,因为大多数命令没有直接对应的命令。     ,我对“添加”的真正作用感到困惑。我刚刚从《 Git Pro》一书中读了一段非常有启发性的段落,我想在此添加它,因为它可以澄清 “事实证明,Git与运行git add命令时的文件完全一样。如果现在提交,则上次运行git add命令时的beta.benchmarks.rb版本将如何进入提交,而不是运行git commit时在工作目录中显示的文件版本。如果您在运行git add之后修改文件,则必须再次运行git add来暂存该文件的最新版本:” 摘自:查孔·斯科特(Chacon)。 “ Pro Git。” Springer,2009-08-19T00:00:00 + 00:00。 iBooks。 该材料可能受版权保护。     ,add告诉git开始跟踪文件。 提交将您当前的更改提交到本地存储库 push将本地回购推到上游。     ,关于许多GIT机密的非常好pdf。 添加与svn的添加相同(但是有时它用来标记文件已解析)。 Commit也与svn \相同,但是它将更改提交到本地存储库中。     ,我觉得这张图片非常有意义: (摘自:奥利弗·斯蒂尔-My Git Workflow(2008))     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...