Answers:
git add
将您修改后的文件添加到队列中,以便稍后提交。文件未提交
git commit
提交已添加的文件并使用日志创建新修订...如果不添加任何文件,则git将不提交任何内容。您可以将两个动作与git commit -a
git push
将您的更改推送到远程存储库。
这从图这个混帐小抄给出了工作流程的一个好主意
git add
并未在图中显示,因为建议的提交方式是combined git commit -a
,但是您可以在脑海中添加一个git add
到change块以了解流程。
最后,之所以push
需要单独的命令是因为git
的理念。git
是一个分布式版本控制系统,而本地工作目录就是您的存储库!您提交的所有更改都会立即反映并记录下来。push
完成工作后,仅用于更新远程仓库(您可能与他人共享)。这是一种在本地工作和保存更改(没有网络开销)并仅在需要时更新它的方法,而不是每次提交时进行更新的一种好方法。这间接导致更轻松的提交/分支等(为什么不对,对吗?要花多少钱?),这导致了更多的保存点,而不会弄乱存储库。
git add
将文件添加到Git索引,该索引是准备提交的对象的暂存区。git commit
将索引中的文件提交到存储库,这git commit -a
是将所有已修改的跟踪文件首先添加到索引的快捷方式。git push
将所有待处理的更改发送到分支所映射到的远程存储库(例如,在GitHub上)。为了了解Git,您不仅需要浏览文档,还需要付出更多的努力,但这绝对是值得的。只是不要尝试将Git命令直接映射到Subversion,因为大多数命令没有直接对应的命令。
我对“添加”的真正作用感到困惑。我刚刚从Git Pro一书中读了一段非常有启发性的段落,我想在此添加它,因为它可以澄清
“事实证明,Git与运行git add命令时的文件完全一样。如果现在提交,则上次运行git add命令时的beta.benchmarks.rb版本将如何进入提交,而不是运行git commit时在工作目录中显示的文件版本。如果您在运行git add之后修改文件,则必须再次运行git add来暂存文件的最新版本:”
摘录:查康·斯科特。“ Pro Git。” 斯普林格,2009-08-19T00:00:00 + 00:00。iBooks。该材料可能受版权保护。
add告诉git开始跟踪文件。
提交将您当前的更改提交到本地存储库
push会将您的本地存储库推向上游。
add -in git用来告诉git我们要提交的文件,它将文件放入暂存区
commit- in git用于将文件保存到本地计算机上,这样,即使我们进行了任何更改甚至删除了文件,我们仍然可以恢复已提交的文件
推送-如果我们将文件提交到本地计算机上,如果我们的本地计算机丢失,损坏等,它们仍然很容易丢失,以确保文件安全或共享文件,通常我们希望将文件保存在远程像Github这样的存储库。为了保存在远程存储库中,我们使用push
示例暂存名为index.html的文件git add index.html
提交已暂存的文件git commit -m'提交名称'
将文件推送到Github git push origin master