git push 到 github 免输入用户名和密码

前提:已经成功将公匙添加到 github

通常我们从 github 上 git clone 一个项目时使用:
git clone https://github.com/username/project-name.git

这样克隆下来的项目当我们在提交更新时会要求用户输入用户名和密码,而在工作中我们经常需要频繁的提交更新,这样就会很不方便,效率也会大大降低,如何才能够在提交时避免输入用户名和密码,其实我们只要改变 git clone 的方式即可, 使用 SSH 的方式:
git clone git@github.com:username/project-name.git

  1. git clone https://github.com/username/project-name.git
  2. git clone git@github.com:username/project-name.git

以上两者都可以把 github 上的项目克隆下来,第一使用的是https, 第二使用的是 SSH,而通过 https 的方式提交更新时需要密码的,而 SSH 则不需要。

如果在克隆项目的时候使用的是 https 方式,如何在提交更新时免输入用户名和密码?

当我们使用 https 克隆项目,我们可以看到项目下.git/config的配置文件如下:

[core]
     repositoryformatversion = 0
     filemode = false
     bare = false
     logallrefupdates = true
     symlinks = false
     ignorecase = true
     hideDotFiles = dotGitOnly
[remote "origin"]
     url = https://github.com/username/project-name.git
     fetch = +refs/heads/:refs/remotes/origin/
[branch "master"]
     remote = origin
     merge = refs/heads/master

当我们使用 SSH 克隆项目,我们可以看到项目下.git/config的配置文件如下:

[core]
     repositoryformatversion = 0
     filemode = false
     bare = false
     logallrefupdates = true
     symlinks = false
     ignorecase = true
     hideDotFiles = dotGitOnly
[remote "origin"]
     url = git@github.com:username/project-name.git
     fetch = +refs/heads/:refs/remotes/origin/
[branch "master"]
     remote = origin
     merge = refs/heads/master

我们可以看到配置文件中它们的远程的 url 区别,因此我们只要把提交更新的方式改为 SSH 即可不用输入用户名和密码.

url = https://github.com/username/project-name.git
改为
git@github.com:usernam/project-name.git

posted on 2014-06-16 13:53  YorkYan007  阅读(305)  评论(0)    收藏  举报

导航