如果我们 git clone 下载代码的时候是连接的 https:// (就是 git remote -v 显示的那个 url)

root@master ~/xxx# git remote -v
origin	https://gitee.com/account/repo.git (fetch)
origin	https://gitee.com/account/repo.git (push)

而不是 git@git (ssh) 的形式,当我们操作 git pull/push 到远程的时候,总是提示我们输入账号和密码才能操作成功,频繁的输入账号和密码会很麻烦。

解决办法1:

把原创仓库地址写成用 git@git 的形式(记得添加机器的 ssh 公钥到远端仓库哟!!!)

root@master ~/xxx# git remote rm origin
root@master ~/xxx# git remote add origin git@gitee.com:account/repo.git
root@master ~/xxx# git remote -v
origin	git@gitee.com:account/repo.git (fetch)
origin	git@gitee.com:account/repo.git (push)

解决办法2(常用):

cd xxx 进入你的项目目录,输入:

git config --global credential.helper store

输入以上指令后,下面文件的最后会多出以下内容:

root@master ~/xxx# cat ~/.gitconfig 
[user]
	name = looking
	email = looking@qq.com
[credential]
	helper = store

然后你使用上述的命令配置好之后,再操作一次 git pull,然后它会提示你输入账号密码,这一次之后就不需要再次输入密码了。

root@master ~/xxx# git pull
Username for 'https://gitee.com': 
Password for 'https://account@gitee.com': 
From https://gitee.com/account/repo
 * [new branch]      database   -> origin/database
 * [new branch]      master     -> origin/master
There is no tracking information for the current branch.
Please specify which branch you want to rebase against.
See git-pull(1) for details.

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=origin/<branch> master

关联分支:

root@master ~/xxx# git branch --set-upstream-to=origin/master
Branch 'master' set up to track remote branch 'master' from 'origin'.

 同时在与 .gitconfig  相同目录下会存在一个 .git-credentials 文件,上边就已经记录了你刚才输入的账号和密码,之后操作就不用再输入密码了。

root@master ~/insight-tool# cat ~/.git-credentials 
https://account:passwd@gitee.com

 


 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐