Ubuntu配置GitHub

Ubuntu 配置GitHub  

2012-05-13 09:59:56|  分类:学习|字号 订阅

一个GitHub newbie的自白:

一、安装git

 

1.查看是否已经安装:

$ git

 

2.没有安装则:

$ sudo apt-get install git

 

3.在主文件夹中新建一文件夹mygit:

$ mkdir mygit

 

4.进入mygit,初始化版本库:

$ cd mygit

$ git init

 

5.完善个人信息(your_name和your_email自己对号入座,下同):

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

$ git config --global user.email "your_email"

 

6.注册GitHub:略

 

二、创建SSH密钥

 

1.创建SSH keys:

$ ssh-keygen -t rsa -C "your_email"

回车后会提示输入密码,该密码用来加密私钥(也即是id_rsa)?回车。

在~/.ssh文件夹中(如果不在,那就找到它,再移动过来)出现两个文件:id_rsa和id_rsa.pub(如123456和123456.pub)

其中id_rsa是私钥,id_rsa.pub是公钥。

 

2.添加SSH keys:

登录GitHub->Account Settings->SSH keys->Add SHH keys :

Title随便填,Key则要将id_rsa.pub的内容全部复制粘贴过来(注意,绝对不能更改任何内容),之后点击Add key即可。

 

3.测试连接:

$ ssh -T git@github.com

如果连接成功会提示:"Hi ×××! You've successfully authenticated, ..."

否则,可能会出现:"Permission denied (publickey). fatal:the remote end hung up unexpectedly"原因可能有:

 

1).id_rsa和id_rsa.pub没有移动到~/.ssh文件夹中;

2).复制粘贴id_rsa.pub文件内容时出错,可能不小心修改了,也可能是编辑器的原因,尝试一下用其他编辑器打开再复制粘贴。

 

三、上传文件到GitHub

 

1.先在GitHub上创建库:

New repository ->(略)

 

2.在mygit文件夹中新建文件:

$ cd mygit

mygit$ touch your_file       //your_file换成你自己的文件名,之后打开添加内容...

注:“//”后面只是在这里的说明,下同。

 

3.创建别名:

mygit$ git remote add [your_name]git@github.com:[你的库名]

$后面的语句其实就是Next steps模块的倒数第二句,只需将你的"别名(如:abc,下同)"替换origin,这样以后就可以用"abc"来表示git@github.com:后面那一串地址。

删除别名的话:git remote rm abc

 

4.上传文件:

$ cd mygit

mygit$ git add .      //这里的点表示当前文件夹

mygit$ git commit -a -m        //提交到本地库命令

mygit$ git push abc master          //master表示库的主分支

之后按照提示输入yes和私钥,如此则完成了上传工作。

 

    git打开的这个默认编辑器可能不是自己惯用的编辑器。那么可以使用下面的命令来改变git所打开的编辑器。

   $git config --global core.editor vim

   执行完这条命令后,可以去查看git的配置文件.gitconfig,该配置文件在家目录下面。

   $ cat .gitconfig

   [core]

       editor = vim

给Ubuntu下的Git添加颜色  

git config --global color.status auto
git config --global color.diff auto
git config --global color.branch auto
git config --global color.interactive auto
 
 
 
 

之前开始用github时是在ubuntu下按着官方的新手指南搞定的。但最近一直在用fedora,所以也想在fedora下用github,配置的时候很顺利,就是在git push的每次都需要输入username和password,而我是配置好公钥登陆的。用ssh -T git@github.com 也是成功用公钥登陆的。

查看了下~/.gitconfig,发现和ubuntu下的一样,google看到一篇《GitHub使用简介》,里面说了git push的两种方式,SSH方式和HTTPS方式。

git-sshgit-https在版本库的SSH方式和HTTPS方式是不同的,具体来说就是url信息的不同,但是,实际的认证机制也是不同的。当建立了本机密钥之后,使用ssh方式实际上是不需要再次认证的,而https则每次需要输入密码 。《Help.GitHub - SSH key passphrases》里也说了用SSH更方便更安全,不需要去输入长长的密码。

我去看了下repo目录下的.git/config,果然,我的url是HTTPS形式。

1
2
3
[remote "origin"]
fetch = + refs/heads/*:refs/remotes/origin/*
url = https://username@github.com/username/projectname.git

因为远程版本库的url是HTTPS,估计是我git clone的时候用HTTPS链接造成的

所以问题就出在这了,每次都很不方便,都要输入用户名和密码。

为了使用SSH公钥的方式认证,我把config的url改成下面这样

1
2
3
[remote "origin"]
fetch = + refs/heads/*:refs/remotes/origin/*
url = git@github.com:username/projectname.git



【注:该笔记只是个人学习过程中的一些总结,而且主要参考了:http://teliute.org/mix/Tegit/index.html,对此表示感谢该作者的分享】

转载自:https://blog.lowstz.org/posts/2011/11/23/why-git-push-require-username-password-github/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值