Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
ʹÓÃGitolite´î½¨ÇáÁ¿¼¶µÄGit·þÎñÆ÷
 
×÷Õߣºa-plus À´Ô´£ºChinaunix ·¢²¼ÓÚ 2014-12-31
  3333  次浏览      27
 

ÔÚGit·þÎñ¹ÜÀí¹¤¾ßÕâ¸öÁìÓò£¬Ö÷ÒªÓÐÈýÖÖÁ÷Ðеķ½°¸£¬ËüÃÇ·Ö±ðÊÇ£º

1.Gitosis - ÇáÁ¿¼¶£¬ ¿ªÔ´ÏîÄ¿£¬Ê¹ÓÃSSH¹«Ô¿ÈÏÖ¤£¬Ö»ÄÜ×öµ½¿â¼¶µÄȨÏÞ¿ØÖÆ¡£Ä¿Ç°ÏîÄ¿ÒѾ­Í£Ö¹¿ª·¢£¬²»ÔÙά»¤¡£

2.Gitolite - ÇáÁ¿¼¶£¬¿ªÔ´ÏîÄ¿£¬Ê¹ÓÃSSH¹«Ô¿ÈÏÖ¤£¬ÄÜ×öµ½·ÖÖ§¼¶µÄȨÏÞ¿ØÖÆ¡£

3.Git + Repo + Gerrit - ³¬¼¶ÖØÁ¿¼¶£¬¼¯°æ±¾¿ØÖÆ£¬¿â¹ÜÀíºÍ´úÂëÉóºËΪһÉí¡£¿É¹ÜÀí´óÐͼ°³¬´óÐÍÏîÄ¿¡£

´óÃû¶¦¶¦µÄAndroidƽ̨¾ÍÊÇʹÓÃµÄ Git + Repo + Gerrit¡£¶ÔÓÚ¸öÈË£¬ÖÐСÐÍÆóÒµ¼°Ò»Ð©¿ªÔ´ÏîÄ¿¶øÑÔ£¬Èç¹ûûÓÐÌØÊâµÄÒªÇ󣬯äʵûÓбØÒªÈ¥¼ÜÉèÉÏÃæµÚÈýÖÖ·½°¸Git·þÎñÆ÷¡£GitoliteÌṩµÄ·þÎñÒѾ­×ã¹»Óá£ÏÂÃæ½«Ïêϸ½²½âÔõô´î½¨Gitolite·þÎñÆ÷¡£

°²×°Gitolite

GitoliteµÄ°²×°ÐèÒª·Ö±ðÔÚ¿Í»§¶ËºÍ·þÎñÆ÷¶Ë²Ù×÷¡£´î½¨GitoliteµÄ²½ÖèÈçͼËùʾ¡£

ÔÚUbuntu12.04 LTSÉϴGitolite·þÎñÆ÷µÄÏêϸ²½Ö裬¼ÙÉè¿Í»§¶ËºÍ·þÎñÆ÷¶ËÒѾ­°²×°ºÃÁËGit¡£Èç¹û»¹Ã»Óа²×°Git£¬Çë·Ö±ðÔÚ¿Í»§¶ËºÍ·þÎñÆ÷¶ËÔËÐÐÏÂÃæµÄÃüÁî°²×°Git¡£

$ sudo apt-get install git

Éú³ÉSSH key£¨¿Í»§¶Ë£©

$ ssh-keygen -t rsa -C HF

ÔËÐÐÃüÁîºó£¬Ò»Ö±°´»Ø³µ¼üÖ±µ½SSH keyÉú³É¡£

½«Éú³ÉµÄSSH public key¿½±´µ½·þÎñÆ÷£¨¿Í»§¶Ë£©

ÕâÀï×¢Ò⣬ΪÁËÇø·ÖSSH public key£¬Ç뽫SSH public keyÖØÃüÃû£¬×îºÃÊÇÓÃÓû§ÃûÃüÃû¡£ÀýÈç <user-name>.pub

$ mv /home/UBUNTUUSERS/hf/.ssh/id_rsa.pub HF.pub
$ scp HF.pub hf@ubuntu-12.04-LTS:/tmp

´´½¨GitÓû§£¨·þÎñÆ÷¶Ë£©

$ sudo adduser \
> --system \
> --shell /bin/bash \
> --gecos 'Git SCM User' \
> --group \
> --disabled-password \
> --home /home/git git

ÏÂÔØGitoliteÔ´Â루·þÎñÆ÷¶Ë£©¡¾1¡¿

$ sudo su git
$ cd $HOME
$ git clone http://github.com/sitaramc/gitolite

°²×°Gitolite£¨·þÎñÆ÷¶Ë£©

$ mkdir -p ${HOME}/bin
$ ${HOME}/gitolite/install -to ${HOME}/bin

ÉèÖÃSSH public key£¨·þÎñÆ÷¶Ë£©

$ ${HOME}/bin/gitolite setup -pk /tmp/HF.pub

Æäʵ£¬µ½ÕâÀGitoliteÒѾ­°²×°Íê³É¡£½ÓÏÂÀ´¾ÍÊÇÌí¼ÓGitÏîÄ¿£¬Óû§ºÍÉèÖÃGitÏîÄ¿µÄ·ÃÎÊȨÏÞÁË¡£

µ«ÊÇÈç¹ûÄãµÄ·þÎñÆ÷¶ÔSSHµÄȨÏÞ×öÁËÏÞÖÆ£¬ÀýÈçÖ»ÓÐÔÚsshusersÓû§×éÀïµÄÓû§²Å¿ÉÒÔSSHµ½·þÎñÆ÷£¬ÄÇôÄ㻹ÐèÒª×öÒ»¸ö¶îÍâµÄÉèÖã¬ÄǾÍÊÇÌí¼ÓgitÓû§¼°ÒÔºóµÄGitoliteµÄÓû§µ½sshusersÓû§×é¡£·ñÔò£¬µ±Äã¿Ë¡GitÏîĿʱ£¬Ä㽫±»ÌáʾÊäÈëÃÜÂë¡£ÈçÏÂͼ£º

Ìí¼ÓgitÓû§sshusersÓû§×飨·þÎñÆ÷¶Ë£©

¿Ë¡Gitolite¹ÜÀí¿â£¨¿Í»§¶Ë£©

$ git clone git@ubuntu-12.04-LTS:gitolite-admin.git

Äã¿ÉÒÔ¿´µ½ÔÚ¹ÜÀí¿âÀÓÐÁ½¸öĿ¼£¬ conf/ºÍkeydir/£¬ÆäÖÐconf/ÏÂÃæÓиöÃûΪgitolite.confµÄÅäÖÃÎļþ¡£

conf/gitolite.conf ÓÃÓÚGitÏîÄ¿ÅäÖ㬷ÃÎÊȨÏÞÉèÖá£

keydir/ ÓÃÓÚ´æ´¢Óû§µÄSSH public key(¹«Ô¿£©¡£

GitÏîÄ¿ÅäÖúͷÃÎÊȨÏÞÉèÖÃÇë¿´GitoliteµÄREADME.txtÎĵµ¡£

ÅäÖÃGitÏîÄ¿£¨¿Í»§¶Ë£©¡¾2¡¿

ΪÁËÔö¼ÓGitÏîÄ¿µ½Gitolite·þÎñÆ÷£¬ÓÐÁ½ÖÖ·½·¨£º

Ìí¼ÓÒ»¸öеÄGitÏîÄ¿

1.ÐÞ¸Ägitolite.conf

ÀýÈ磬н¨Ò»¸öÃûΪfooµÄGitÏîÄ¿£¬Ê×ÏÈÄãÐèÒªÔÚconf/gitolite.confÀï×¢²áfooÏîÄ¿¡£

¼ÙÉèÄãÒѾ­¿Ë¡ÁËgitolite-admin.gitÏîÄ¿£¬±à¼­conf/gitolite.conf£¬Ôö¼ÓÏÂÃæµÄÄÚÈÝ¡¾3¡¿¡£

repo foo
RW+ = @all

È»ºóÌá½»Õⲿ·ÖÐ޸쬲¢pushµ½Ô¶³Ì¡£

2.ÉèÖÃGitÏîÄ¿

hf@ubuntu-12.04-LTS:~$ mkdir foo
hf@ubuntu-12.04-LTS:~$ cd foo
hf@ubuntu-12.04-LTS:~/foo$ git init
Initialized empty Git repository in /home/UBUNTUUSERS/hf/foo/.git/
hf@ubuntu-12.04-LTS:~/foo (master)$ git remote add origin hf@ubuntu-12.04-LTS.git
hf@ubuntu-12.04-LTS:~/foo (master)$ touch README
hf@ubuntu-12.04-LTS:~/foo (master)$ git add README
hf@ubuntu-12.04-LTS:~/foo (master)$ git commit -m "Initial commit"
[master (root-commit) 997d5d8] Initial commit
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README
hf@ubuntu-12.04-LTS:~/foo (master)$ git push origin master:refs/heads/master
Counting objects: 3, done.
Writing objects: 100% (3/3), 217 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To hf@ubuntu-12.04-LTS:foo.git
* [new branch] master -> master

ÏÖÔÚGitÏîÄ¿fooÒѾ­ÉèÖúÃÁË¡£Óû§¿ÉÒÔ´Ó·þÎñÆ÷ÉϿˡfooÁË¡¾4¡¿¡£

hf@ubuntu-12.04-LTS:~$ git clone hf@ubuntu-12.04-LTS:foo.git
Cloning into 'foo'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.

Ìí¼ÓÒ»¸ö´æÔÚµÄGitÏîÄ¿

Èç¹ûÄãÓÐÒ»¸öÒѾ­´æÔÚµÄÏîÄ¿£¬Ò²Ï뽫ÆäÌí¼Óµ½GitoliteµÄ·þÎñÆ÷Àï¡£ÕâºÜ¼òµ¥£¬µ«ÊÇÊ×ÏÈÄãÒÀÈ»ÐèÒªÔÚgitolite.confÀï×¢²áÕâ¸öÏîÄ¿¡£È»ºóÖ´ÐÐÏÂÃæµÄ²Ù×÷£º

cd foo
git remote rm origin
git remote add origin hf@ubuntu-12.04-LTS.foo.git
git push origin master

Èç¹ûÄãÓжà¸öbranch£¬ÄÇôcheckoutµ½ÄǸöbranch£¬Ö´ÐÐ

git push origin <branch-name>

×¢£º

¡¾1¡¿ Èç¹ûÊÇÆóÒµÄÚ²¿ÍøÂ磬¿ÉÄÜÄãÐèÒªÉèÖÃHTTP´úÀí£¬·½·¨ÈçÏÂ:

$ export http_proxy=http://proxy.<server-name>.com:<port-number>/

ÀýÈ磺 export http_proxy=http://proxy.server.com:8080/

¡¾2¡¿ ´Ë²½Öè½öGitoliteµÄ¹ÜÀíÔ±²ÅÓÐȨÏÞÖ´ÐС£

¡¾3¡¿ ÔÚÕâÀÎÒÃǰÑfooÏîÄ¿µÄ¶ÁдȨÏÞ¸øÁËËùÓеÄGitoliteÓû§£¬Êµ¼ÊµÄÏîÄ¿ÖУ¬Äã

×îºÃ²»ÒªÕâÑù×ö¡£ÇëΪ²»Í¬¼¶±ðµÄÓû§ÉèÖò»Í¬µÄȨÏÞ¡£

¡¾4¡¿ ÓÉÓÚÎҵĿͻ§¶ËºÍ·þÎñÆ÷ÊÇͬһ̨PC£¬ËùÒÔÕâÀïÓòÃû¶¼ÊÇubuntu-12.04-LTS¡£

   
3333 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

ÿÈÕ¹¹½¨½â¾ö·½°¸
ÈçºÎÖÆ¶¨ÓÐЧµÄÅäÖùÜÀíÁ÷³Ì
ÅäÖùÜÀíÖ÷Òª»î¶¯¼°ÊµÏÖ·½·¨
¹¹½¨¹ÜÀíÈëÃÅ
Ïà¹ØÎĵµ

ÅäÖùÜÀíÁ÷³Ì
ÅäÖùÜÀí°×ƤÊé
CM09_CÅäÖùÜÀí±ê×¼
ʹÓÃSVN½øÐа汾¿ØÖÆ
Ïà¹Ø¿Î³Ì

ÅäÖùÜÀíʵ¼ù
ÅäÖùÜÀí·½·¨¡¢¹¤¾ßÓëÓ¦ÓÃ
¶à²ã´Î¼¯³ÉÅäÖùÜÀí
²úÆ··¢²¼¹ÜÀí
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

Èí¼þÅäÖùÜÀíµÄÎÊÌ⡢ĿµÄ
Èí¼þÅäÖùÜÀí¹æ·¶
CQWeb 7.1ÐÔÄܲâÊÔÓëµ÷ÓÅÖ¸ÄÏ
ΪʲôÐèҪʹÓÃClearCase
ClearCaseÓëRTCµÄ¼¯³É
ÀûÓÃClearQuest ½øÐвâÊÔ¹ÜÀí


²úÆ··¢²¼¹ÜÀí
ÅäÖùÜÀí·½·¨¡¢Êµ¼ù¡¢¹¤¾ß
¶à²ã´Î¼¯³ÉÅäÖùÜÀí
ʹÓÃCCÓëCQ½øÐÐÏîĿʵ¼ù
CVSÓëÅäÖùÜÀí
Subversion¹ÜÀíÔ±


ÅäÖùÜÀíʵ¼ù£¨´Ó×éÖ¯¼¶µ½ÏîÄ¿¼¶£©
ͨºÅÔº ÅäÖùÜÀí¹æ·¶ÓëÓ¦ÓÃ
ÅäÖùÜÀíÈÕ¹¹½¨¼°³ÖÐø¼¯³É
µ¤·ð˹ ClearCaseÓëÅäÖùÜÀí
ÖйúÒÆ¶¯ Èí¼þÅäÖùÜÀí
ÖйúÒøÐÐ Èí¼þÅäÖùÜÀí
Ìì½ò»ªÒíÀ¶Ìì¿Æ¼¼ ÅäÖùÜÀíÓëPvcs