论坛首页 Java企业应用论坛

关于git的一点笔记

浏览 5428 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-12-24  

很早的时候注册了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的话就不多说了,将本地的变动提交到中央仓库。

   发表时间:2013-12-30  
写的不错,我有点疑问就是:
git:本地仓库,中央仓库
svn:服务器一个唯一的
最终git,svn都得提交到这个唯一的代码库中
是不是git多了一步骤,还得提交到本地仓库,更繁琐呢?
0 请登录后投票
   发表时间:2013-12-30  
实际项目用了一年,目前已经把大部分代码仓库迁移到git,说说我感觉的好处和不足吧,其他的几个问题可以google
好处:分支(branch)!有了它起码减少一半代码维护问题,多分支开发毫不费力,甩出svn几条街

不足:不适合维护文档资料。目前excel文档、二进制资料还在用svn维护,并不是git不能处理,而是显不出明显优势,有时还会因为不能自动合并造成问题(分布式仓库vs中央仓库)。
0 请登录后投票
   发表时间:2013-12-30   最后修改:2013-12-30
直接网页登录到GitHub网站上建立项目。
然后Eclipse中Git直接检出工程,修改和提交就行了。

第二步跟CVS/SVN操作几乎完全一样(除了提交时要选择同时提交到远程这一步以外),全部鼠标完成就行了。
现在Git的插件在Eclipse中是内置的,直接用就行了。
非要搞什么命令行,好像有多高级一样






  • 大小: 41.5 KB
  • 大小: 46.7 KB
0 请登录后投票
   发表时间:2013-12-31  
GUI的客户端确实是比敲命令要快捷很多
0 请登录后投票
   发表时间:2013-12-31  
我是SVN操作使用的是客户端,感觉还行,主要是svn的命令不是很熟悉,仅仅有几个会用呵呵。然后git的话,因为一直是自己玩,觉得add/commit/push/clone这几个可以满足我自己的需求了,直接命令行也觉得没啥,挺快的。不过要是团队大规模作战git的话,我可能也就转成GUI了呵呵
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics