GIT常用命令总结
一.概述
最近有个项目分支使用了git托管代码,虽然之前在github上托管过很多代码,但是对git本身的使用以及特性也没有太多的深入的了解,最近使用git出现了一个问题,查到最后是环境问题,很悲摧,为了避免悲剧再次出现,就看了一遍git相关的所有常见命令以及一些git的设计思想,比如工作区,暂存区,本地仓库等等,也算是对平时编写代码思路的一种启发。很多人都说git是分布式的,svn不是分布式的,那么git分布式到底体现在哪里,每个人本地都有一个完整的仓库吗?难道svn每个人本地的代码就不是完善的吗?关于git分布式,我们从下面几个点来解释:
- 1.每个人都可以在本地管理代码的变更,而不像svn如果svn中心挂了,本地代码的管理就无法实现。
- 2.使用git人人都可以成为中心,而不像svn中心有且只有1个,中心挂了,只能坐等中心恢复,不然两个开发之间的代码就没法相互感知到。但是git可以在某个中心挂了之后,其他人能快速成为中心。
- 3.github的fork功能就一个分布式的典型例子,比如作者A拥有一个仓库repo,此时开源爱好者m对这个repo很感兴趣,想贡献一些代码,因此m就去fork了repo仓库,此时开源爱好者n也知道了这个事情,n和m一起基于fork出来的repo1来贡献代码,此时有两个仓库,一个是repo一个是repo1,repo挂掉不影响repo1,repo1挂掉不影响repo,等m和n都开发结束了,就提交分支合并请求到A那边,A觉得没啥问题就合并代码到repo仓库。
二.命令
基于命令维度总结了一下git的一些常用命令