📅  最后修改于: 2023-12-03 15:15:17.977000             🧑  作者: Mango
在使用 git push
命令将本地分支推送到 Ubuntu 服务器时,每次都需要输入账号和密码,十分麻烦。如何解决这个问题呢?
将远程仓库地址的协议由 https
改为 git
,这样就不需要每次输入账号和密码了。
运行以下命令:
git remote set-url origin git@server.com:namespace/repo.git
其中 server.com
是远程服务器的域名,namespace/repo.git
是仓库的名称。
使用 SSH Key 可以免除每次输入账号和密码的麻烦,同时还可以提高安全性。
在本地生成 SSH Key,运行以下命令:
ssh-keygen -t rsa -C "your_email@example.com"
其中 your_email@example.com
是你的邮箱地址。根据提示输入密码,则会在 ~/.ssh
目录下生成 id_rsa
和 id_rsa.pub
两个文件。
将公钥添加到服务器的 ~/.ssh/authorized_keys
文件中,可以使用以下命令:
cat ~/.ssh/id_rsa.pub | ssh user@server.com 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'
其中 user
是服务器的用户名,server.com
是服务器的域名。
使用 SSH 协议访问仓库,运行以下命令:
git remote set-url origin git@server.com:namespace/repo.git
其中 server.com
是远程服务器的域名,namespace/repo.git
是仓库的名称。
使用 Git Credential Manager 可以缓存账号和密码,避免每次输入。
安装 Git Credential Manager,可以参考以下链接:
运行以下命令:
git config --global credential.helper manager
配置成功后,首次推送时输入一次账号和密码即可,以后就可以免除输入账号和密码的麻烦了。
以上三种方法均可解决每次推送都需要输入账号和密码的问题,每种方法各有优劣,可以根据实际情况选择合适的方法来使用。