很早的时候注册了github,然后搞了一些自己写的代码上去,逐渐学会了使用git,但是目前也仅仅是一个很浅的初级,觉得有必要记录一下呵呵。
其实看很多文章帮助可能也不是很大,不如自己实际操作一下:
1、在github上面创建一个仓库;
2、git clone dddddd /dir 克隆到本地;
3、git add 添加文件到working memory;
4、git commit -m "" 提交到Head
5、git push 到远端;
上面这五个步骤,基本上是我目前使用git的步骤,没有分支(一个人搞啥分支),没有冲突(一个人也就没有冲突可言),更没有合并呵呵。
这里推荐一个很好的PPT,http://rogerdudler.github.io/git-guide/index.zh.html 我的入门就来自这里。
具体的操作网上很多,这里就不再做重复的描述了。
问题:git和SVN什么区别?
这时候可能很多的答案说,git是分布式的,怎么个分布式呢。先谈谈SVN,SVN的话是目前我用工作中用的,已经集成了web操作控制台,十分方便,SVN是典型的客户端-服务端架构,一个服务端对应多个客户端,客户端和服务端的操作命令是分开的,服务端保存源文件,客户端保存工作拷贝,需要提交的时候,把本地的改动或者添加提交到服务端端。而git的话每台pc上都有一个完成的”.git“仓库和工作拷贝,就好像git把SVN的服务器端搞到了本地仓库,git的命令,同时具备操作服务器和工作拷贝的功能,每台PC都是等价的。这时候,如果多人协作的话,怎么搞呢?一般的做法是搞一个中央仓库作为基准来进行协作,例如github。这样的话,本体文件进行 git commit操作,仅仅是把改动提交到本地仓库,”git push 或者 git pull“是和中央仓库做协作。
问题:使用git有哪些好处?
由于本地也有仓库,所以在离线的情况下,也可以进行commit操作,只需要在有网络的时候,再进行push操作即可。由于除了push 和pull操作是网络操作外,其他的都是本地操作,所以速度快很多。还有一个就是如果想做容灾或者备份,重新clone一份出来就行了。
问题:关于git命令中的add、commit、push
git在本地仓库维护了三棵树状的文件,一个是”工作目录“,他实际持有文件,本地的修改就是这些文件;一个是”缓冲区Index“这个就像缓冲区域,临时保存你的改动,add操作的话,就是把变动提交到这里来;还有一个是head,保存最后一次提交的操作,commit操作,就是将变动提交到这里;push的话就不多说了,将本地的变动提交到中央仓库。