GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git 服务器 作为私有仓库使用,本篇文章将为大家讲解一下如何搭建私有Git服务器。
1、首先需要安装Git,可以使用yum源在线安装:
[root@localhostDesktop]
2、创建一个git用户,用来运行git服务
addusergit
3、初始化git仓库:
这里我们选择/data/git/learngit.git来作为我们的git仓库
[root@localhostgit]InitializedemptyGitrepository/data/git/learngit.git/
执行以上命令,会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:
[root@localhostgit]
4、在这里,Git服务器就已经搭得差不多了。
下面我们在客户端clone一下远程仓库
Zhu@XXX/E/testgit/8.34$git[emailprotected]:/data/git/learngit.gitCloninginto...Theauthenticityofhostcan192.168.8.34'(RSA)tothelistofknownhosts. [emailprotected]'spassword:
这里两点需要注意:第一,当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告:
Theauthenticityofhostcan
这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes回车即可。 Git会输出一个警告,告诉你已经把GitHub的Key添加到本机的一个信任列表里了:
Warning:Permanentlyadded(RSA)tothelistofknownhosts.
这个警告只会出现一次,后面的操作就不会有任何警告了。 如果你实在担心有人冒充GitHub服务器,输入yes前可以对照GitHub的RSA Key的指纹信息是否与SSH连接给出的一致。 第二,这里提示你输入密码才能clone,当然如果你知道密码,可以键入密码来进行clone,但是更为常见的方式,是利用SSH的公钥来完成验证。
5、创建SSH Key
首先在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。
如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ssh-keygen-trsa-C"[emailprotected]"

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。 如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
6、在Git服务器打开RSA认证
然后就可以去Git服务器上添加你的公钥用来验证你的信息了。
在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开,即:
1.RSAAuthenticationyes2.PubkeyAuthenticationyes3.AuthorizedKeysFile.ssh/authorized_keys
这里我们可以看到公钥存放在.ssh/authorized_keys文件中。所以我们在/home/git下创建.ssh目录,然后创建authorized_keys文件,并将刚生成的公钥导入进去。 然后再次clone的时候,或者是之后push的时候,就不需要再输入密码了:
Zhu@XXX/E/testgit/8.34$git[emailprotected]:/data/git/learngit.gitCloninginto...warning:Youappeartohaveclonedanemptyrepository.Checkingconnectivity....
7、禁用git用户的shell登陆
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
最后一个冒号后改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
美国尼克频道出的《查莉宝贝的成长日记》主角简介
《查莉成长日记》是迪士尼频道的.据我看过的迪士尼频道播出的电视、电影,泰迪的饰演者Bridgit Mendler演过的电影有《柠檬嘴巴》《女校风波》,客串过《少年魔法师》.盖比出演过《夏佩的奇妙冒险》.艾米则客串过《汉娜·蒙塔娜》.至于PJ的就没发现过.
hang in there baby的歌词有谁有
BRIDGIT MENDLER - HANG IN THERE BABY Todays All Burnt Toast Running Late,Dad Jokes Has Anybody Seen My Left Shoe I Close My Eyes,Take A Bite Grab A Ride,Laugh Out Loud There It Is Up On The Roof Ive Been there I Survived So Just Take My Advice Hang In There Baby,Things Are Crazy But I Know Your Futures Bright Hang In There Baby,Theres No Maybe Everything Turns Out Alright! Sure Life Is Up And Down But Trust Me It Comes Back Around Your Gonna Love Who You Turn Out To Be WHOO! Home run Loud Crash Someones Gonna Pay For That Why Is Everyone Looking At Me Trouble In Paradise skating on melted ice please dont take away my tv Ive Been There I Survied So Just Take My Advice Hang In There Baby, Things Are Crazy But I Know You Futures Bright Hang In There Baby,Theres No Maybe Everthing Turns Out Alright! Sure Life Is Up And Down But Trust Me It Comes Back Around Your Gonna Love Who You Turn Out To Be Someone Who Gets Along Can Keep You Moving On Thats What Im Here For Say Anything Hang in there baby!
好听的经典英文歌有哪些?
Maria Arredondo - Burnin (喜欢英文歌的人都懂这首歌的经典)Adele - Rolling In The Deep(很经典被翻唱N次)Britney Spears - Baby One More Time(布兰妮的成名曲。 不多做解释)Big Big Wold(大大世界,从小听到大。 )Greyson Chance - PaparazziGit Fresh - Blow Me A KissWestlife - Because Of YouBackstreet Boys - As Long As You Love MeLenka - Trouble Is A FriendGod Is A GirlTaylor Swift - I Knew You Were Trouble(最近很火的山羊叫原曲……)Secret Garden - Nocturn
发表评论