1.我在用git关注一个开源项目的更新,我想按提交顺序查看代码怎么办?
建议的方式是,针对每次提交创建分区,以切换分区的方式查看。
git rev-list HEAD|tail -1|head -1 #第1次提交的SHA1
git rev-list HEAD|tail -2|head -1 #第2次提交的SHA1
…以此类推,可以得到一个SHA1串。
git checkout e8365163 #只需要写前7、8个字符就行。
工作区就是想要的内容,git chekout master 就可以恢复原有的内容了。
2.经过试用为什么没有给我的开发工作带来什么好处呀?
这是你的使用方式决定的。如果在主分支下进行开发并每次做PULL和PUSH与服务器同步代码,这与使用CVS/SVN是没有什么区别的,只剩下一个好处就是可以迅速的浏览修改日志(因为日志在本地)。以上是并没有真正的理解GIT。GIT提倡在于你独立完成自己的部分后,再去合并其他人的部分;在完成之前尽量避免同步,这是因为频繁的合并会打乱你自己的连贯性、频繁的提交会让人们的耦合加大。
3.使用git gc后用git fsck检查发现许多“dangling commit”,有问题吗?
按照git的官方说法这不是问题,但是残留的这些对象的确是无用的,可以使用 git prune清理掉。
4.我的git版本比较低,想换成较新的版本,是不是需要将代码仓库进行备份?
完全不需要。git的代码仓库结构一直以来都没有变化,因其存储机制设计简单而且高效。git版本的变化主要是bug修复、功能和工具的添加,不涉及仓库结构的修改。