最近在学 git ,书中只教使用步骤,没有过多介绍使用场景及每一步操作的目的。关于 git add 我有两个问题求教:
1 、git add 某文件后,该文件就被纳入跟踪。问题是纳入跟踪有什么用?
2 、git add 后文件进入 stage 。但是还要 commit 一步操作才能将文件加入本地 git 仓库。既然 git 是个管理备份代码的工具。那为什么不一步将文件 commit 进本地 git 仓库呢?非要加个 stage 这个中间状态呢?
因为我还没有做过相关工作。所以以下是我根据书中上下文的猜测。如果哪里有错误或不完整不准确的地方还请各位老师指教。
git add 文件进入 stage 以后,git 才会记录文件是否改动,才可以在 git status 命令下查看这个文件的修改记录。如果没有纳入 stage 状态。就不会记录跟踪文件的修改记录。所以 stage 就是个“文件版本比较工具”。这个工具与备份代码只有间接关系。
真正要备份 一个代码,必须要提交到 git 本地仓库。之所以 stage 看似是一个中间步骤,完全是因为 git 强制要将文件纳入 stage 以后才可以 commit 。
如果某人开发开发一个独立的代码版本管理工具。他完全可以将 stage 和 本地代码仓 做成平行关系。既本地代码文件用户只要想,就可以一步提交到本地代码仓,无需先对比再提交。只要本地代码仓做到记录每一个提交版本就可以。至于用户愿意用 stage 先比较一下,再提交。也可以。
------------------所以我以上的猜测是否正确?是否完整?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.