搭建 git 服务器 使用egit

一、写在前面的话:

        最近对git 很有兴趣。《git 权威指南》这本书写的很详细,还没啃完。突然有个想法:搭建个git服务器,模拟团队开发。网上找了很多相关的,其实最后还得自己实践一下,期间碰到的各种问题,只有亲自经历,才感觉弥足珍贵。

二、总体设想

       1)资源:pc一台(windows)、Eclipse(装有egit插件)、用vmware虚拟出一台机器(centos7 + 安装有git)

       2)在虚拟机上搭建git服务器  ----->   从eclipse的git repositories中 clone 虚拟机上的git仓库 ------> 在仓库上Import  porjects 一个全新的项目

三、步骤

      1)在虚拟机上安装git (略过)

       2)创建一个用户(比如就叫git),用现有的除root用户外的用户也行。

      3)一般创建了用户后,在 /home目录下会有个跟用户名相同的目录,用以存放该用户相关的东东(除非你把这个目录删掉了) ;在该目录下有一个 .ssh 的隐藏目录(如果没有,新建,并把目录的拥有者、组别改成上面刚创建的用户的一致);在 .ssh 目录下有个文件叫:authorized_keys(如果没有,新建,把该文件的拥有者、组别也改成刚创建的用户的一致)

       4)在Eclipse中,window -> Prefecence -> General -> Network Connections -> SSH2 -> Key Management -> Genarate RSA key ,将生成的公钥内容想办法弄到上面的authorized_keys文件中

      5)创建一个空的git仓库,不建议在 /home/用户目录下,比如  /srv/sample.git  。

                    cd  /srv

                    git   init   --bare  sample.git

       6)设置sample.git的组别和拥有者为刚创建的用户(加 -R 用以包装子目录和文件也被修改,不然后面会的操作会出现这样的错误提示:unpack-objects abnormal exit)

                    chown  -R  组:用户  sample.git

       7)  一般都会出于安全考虑,禁用shell 。不过我这一步直接跳过,因为设置了此项后面就连接不上(不知道是设置的不对还是咋的)

                   vi   /etc/passwd

                   把   jack:x:1000:1000:CentOS 7:/home/jack:/bin/bash    

                   改成   jack:x:1000:1000:CentOS 7:/home/jack:/usr/bash/git-shell

         至此,三步走的第一步已经完成。

         8) 在Eclipse 中调出视图 Git Repositories ,点击这个:

                 

         9)类似填写

                

              9)next 

               

                当然,我这里已经有master 了,不然是一个空库,不管它,next

              10)选择一个目录作为本地库,finish 

               

              在 Git Repositories 视图中就有了我们clone 的库,至此,三步走的第二步完成。

             11)在本地库上,右键,Import Project 

                    

                  12)  选择 新项目  ,finish

                    

                   剩下的就是新建项目的内容,应该很熟了。如果出现这个,不管它,ok

                   

                 13)在刚才新建的项目上右键 -> Team -> share Project ,选 git

                  

                14)  选中本地库,finish

                 

               ok ,大功告成。接下来就可以使用egit来提交、推送了。

                  小项目几个人可以用上面的authorized_keys文件来管理成员的公钥,免去了提交时每次都要输入密码的烦恼。人多的项目可以考虑使用用过工具:gitosis来管理公钥哦

                   

原文地址:https://www.cnblogs.com/conserdao/p/7664914.html