Linux下安装配置git

我用的Linux是CentOS,安装过程这里 http://progit.org/book/zh/ 有详细介绍,我只说下我在安装配置过程中遇到的问题。

第一,就是下载的问题,我在下载的时候发现 用yum安装,找不到git-core,只能采用源码安装的方式,但悲剧的是上面给的官方连接http://git-scm.com/download,打不开,咋办啊?搜呗,好在天无绝人之路,在国内的网站有——自由软件库,感谢啊!

下载传送门 http://download.chinaunix.net/download/0004000/3744.shtml

第二,打开https://github.com/并注册帐号,然后创建一个库(repository),之后会给出提示,在本地设置用户名,email,在本地新建目录,再进行初始化操作,但到最后一步的时候,悲剧又发生了...

最后一步是提交本地库到服务器:

git push -u origin master

出现错误提示:Permission denied (publickey).

找了很久,还以为是ssh配置出了问题。咋办啊?继续往下看。

第三,其实不关ssh配置的事,是因为我对ssh工作原理不清楚。ssh有两种安全验证:基于密码的安全验证 和 基于密匙的安全验证(见 http://zh.wikipedia.org/wiki/SSH)。Git采用的是后者,这就需要在本地现产生公匙,通过githut官网提交到服务器,然后才能通过ssh连接到服务器。至于如何产生公匙,怎么提交,这里 http://help.github.com/linux-set-up-git/讲的很详细,以下是我翻译的。

搭建GitHub环境步骤

1 下载安装最新的git版本

2 设置SSH公匙

(1)检查在本地有没有公匙,如果存在,则跳到(4)

$ cd ~/.ssh

如果没有此目录,则跳到(3),否则继续第二步。

(2)备份或删除现有SSH密匙公匙

由于已经存在一个SSH目录,你需要将它备份后删除,以生成新的。

$ ls

id_rsa id_rsa.pub known_hosts

$ mkdir key_backup

$ cp id_rsa* key_backup

$ rm id_rsa*

(3)产生新的密匙公匙

$ ssh-keygen -t rsa -C realwall@126.com

Generating public/private rsa key pair.

Enter file in which to save the key (/home/realwall/.ssh/id_rsa):[回车]

Enter passphrase (empty for no passphrase):[输入密码]

Enter same passphrase again:[确认密码]

Your identification has been saved in /home/realwall/.ssh/id_rsa.

Your public key has been saved in /home/realwall/.ssh/id_rsa.pub.

The key fingerprint is:

47:3b:bb:c1:6b:43:87:09:db:3a:01:0e:76:fb:e8:f6 realwall@126.com

(4)提交SSH公匙到GitHub

登录www.github.com,点击右上角的"Account Setting" > 点击"SSH Keys" > 点击"Add new SSH key"

打开公匙文件id_rsa.pub,将其内容粘贴到网页key文本框中。(注:不要有多余字符)

(5)测试能否连接到GitHub

$ ssh -T git@git.com

Enter passphrase for key '/home/realwall/.ssh/id_rsa':[刚才设置的密码]

Hi realwall! You've successfully authenticated, but GitHub does not provide shell access.

3 设置自己的信息

$ git config --global user.name "realwall"

$ git config --global user.email "realwall@126.com"

4 登录www.github.com,新建一个仓库,按提示操作即可

我的github传送门:https://github.com/realwall ,欢迎邀请我加入JavaScript或PHP的项目。