git+github个人使用心得总结(持续更新)
小菜初学git,下面的都是个人总结,希望各位能不吝指教,多多指出我理解上的偏差,谢谢!
git入门书籍:http://progit.org/book/
版本控制系统,以前了解过cvs、svn,最近似乎git大有取代前者之势。经过初步的了解,才知道git和以前的版本控制系统有许多本质上的差别。
版本控制系统的发展过程:单机版本控制系统(offline) ——集成式版本控制系统(online)——分布式版本控制系统(offline/online)
- 集成式版本控制系统:cvs、svn都是这类。适合多人协作开发,项目仓库放在一个远端服务器上,服务器中保存所有的历史版本,每个人本地工作仓库只是远端服务器上该项目的一个版本。这也意味着,大部分操作都得在联网状态下才能进行,包括提交、更新、回滚等操作。而且在这种方式下,一旦远端服务器上的数据受到毁灭性破坏,那么这种破坏将是不可恢复的。
- 分布式版本控制系统:git。git中也有本地仓库和远端服务器仓库的概念。但是git中的本地仓库与远端服务器上的内容没有差别,也保存所有的版本历史。这也就意味着大部分的操作都可是离线状态,而且即使远端服务器上的数据损坏了,也可以通过本地数据來恢复。
git中重要的概念:
- 工作目录(working directory):在工作目录中修改文件,修改后的文件状态是modified,新添加的文件是untracked,通过git add命令将文件保存到staging area中;
- staging area:保存下次即将提交到git repository中文件的snapshot。文件状态是staged,通过git commit命令提交文件到git repository中;
- git repository:本地仓库。通过git push命令更新远端服务器仓库,通过git pull命令更新本地仓库。
开始使用git:
- 在本机上安装git,http://progit.org/book/
- 使用github充当远端服务器,托管本地代码:www.github.com
- 在github上注册好帐号,创建一个仓库,就可以将本地仓库托管上去了
- 剩下的就是从原理上学习git,熟练掌握git的常用命令,不懂的就git --help。
git常用命令:
- git config :配置git
- git add:更新working directory中的文件至staging area。git add .更新所有的文件
- git commit:提交staging area中的文件至git repository中。git commit -m 'message'
- git status:查看状态
- git diff:查看改动情况
- git remote:查看远端服务器别名,加上-v显示url信息
- git remote add server_url local-alias:添加远端服务器
- git clone project_url local_alias:拷贝项目到本机中
- git push server_url/local-alias:更新远端服务器仓库
- git pull server_url/local-alias:更新本地服务器仓库