CQM*_*CQM 105 git push commit add repository
是什么混帐之间的差异add,push以及commit?
只是有点困惑来自SVN,其中"更新"将"添加"东西,并且提交执行"推送"并且还将"添加"
git中有各种不同的功能.希望从您的经验中得到一些解释.
abc*_*bcd 153
git add将修改后的文件添加到队列中以便稍后提交.文件未提交git commit提交已添加的文件并使用日志创建新版本...如果您不添加任何文件,git将不会提交任何内容.您可以将两个操作组合使用git commit -a
git push 将更改推送到远程存储库.
这个git备忘单中的数字可以很好地了解工作流程

git add因为建议的提交方式是组合的git commit -a,所以不在图上,但您可以在心理上添加一个git add更改块来理解流程.
最后,原因push是一个单独的命令是因为git哲学.git是一个分布式版本控制系统,您的本地工作目录是您的存储库!您提交的所有更改都会立即反映并记录下来.push当你完成了正在处理的任何事情时,它只用于更新远程仓库(你可能与他人共享).这是一种在本地工作和保存更改的简洁方法(无需网络开销),只在您需要时更新它,而不是在每次提交时更新.这间接导致更容易提交/分支等(为什么不,对吧?它花了多少钱?)这会导致更多的保存点,而不会弄乱存储库.
Ada*_*tek 22
git add 将文件添加到Git索引,这是准备提交的对象的暂存区域.git commit将索引中的文件提交到存储库,git commit -a是将所有已修改的跟踪文件首先添加到索引的快捷方式.git push 将所有挂起的更改发送到您的分支映射到的远程存储库(例如,在GitHub上).为了理解Git,你需要投入更多的精力,而不仅仅是浏览文档,但这绝对是值得的.只是不要尝试将Git命令直接映射到Subversion,因为它们中的大多数没有直接的对应物.
小智 11
我对'添加'真的有什么困惑感到困惑.我刚刚从Git Pro这本书中读到了一段非常有启发性的段落,我想在此添加,因为它澄清了一些事情
"事实证明,当你运行git add命令时,Git完全按照它的方式调度文件.如果你现在提交,就像你上次运行git add命令时的benchmarks.rb的版本是它将如何进入提交,而不是你在运行git commit时在工作目录中查找的文件版本.如果在运行git add之后修改文件,则必须再次运行git add以暂存该文件的最新版本:"
摘录自:Chacon,Scott."Pro Git."Springer,2009-08-19T00:00:00 + 00:00.iBooks的.本资料可能受版权保护.