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
- git clone https://github.com/username/project-name.git
- 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) 收藏 举报
浙公网安备 33010602011771号