我一直试图在个人项目上使用Git近一个月了.
我对基本的命令集有很好的理解,虽然它的用户体验并不令人敬畏,但我仍然觉得自己比我过去使用的其他VCS更喜欢Git.
然而,我仍然认为我没有"获得"的一个概念是指数的真正目的.我有这种感觉,我没有利用它打算给予的一些好处.
有一个临时区域的目的是什么?来自SVN的土地,我已经习惯了将我的工作副本视为我的临时区域,而我的快照也是从我的提交中获取的.
所以,我的问题是:
这种额外的间接水平给你带来了什么?指数如何改善或改变您的正常工作流程?你能否提供任何让索引允许你做一些在没有它的情况下会遇到麻烦的事情?
绝对有时候我会开始处理一个功能或错误修复,然后注意一个简短的拼写错误或其他一些小的(也许是一行)修复的东西.而不是放弃我的所有工作,甚至不使用git stash
,我只能通过索引提交那个微小的变化 ; 我的所有其他工作仍然存在,但现在提交更具体:它只显示小修复,而不是埋没在其他几十行中.这是为了更清晰的历史记录,这使得搜索日志变得容易,因为它们没有与其他提交混合在一起.
在(复杂的,大的)合并冲突的情况下,能够添加我对索引所做的每个更改也很好,所以我知道我修复了哪些冲突以及需要处理哪些冲突.