代码部署到服务器后,如果有更新代码,每次都要手工上传代码,很是繁琐。
下面的方法是通过git的clone和pull来一键上传代码,首先进入到服务器web目录,然后输入以下指令来克隆项目:
git clone git@gitee.com:edward1108/wallet.git
克隆的链接有两种:https(https://gitee.com/edward1108/wallet.git)和ssh(git@gitee.com:edward1108/wallet.git),
其中https适用于方法一,ssh适用于方法二。
两种方法的比较:
方法一:通过保存账户密码进行免密pull等操作,该方法可以执行push\pull\clone等读写操作
方法二:通过保存公钥来进行免密等操作,该方法只能pull\clone等只读操作
方法一:
1、进入到用户根目录,cd $HOME
2、执行git config --global credential.helper store命令
3、执行之后会在.gitconfig文件中多加红色字体项
[user]
name = 天明
email = xxxx@xxxx.com
[credential]
helper = store
4、之后cd到项目目录,执行git pull命令,会提示输入账号密码。输完这一次以后就不再需要,并且会在根目录生成一个.git-credentials文件
[root@iZ25mi9h7ayZ test]# git pull
Username for '': xxxx@xxxx.com
Password for '':
[root@iZ25mi9h7ayZ ~]# cat .git-credentials
5、之后pull/push代码都不再需要输入账号密码了~
方法二
1、生成公钥,输入指令,
ssh-keygen -t rsa -C "你的邮箱"
第一次出现:Enter file in which to save the key (/root/.ssh/id_rsa): 直接按回车就行。
第二次出现:Enter passphrase (empty for no passphrase): 第一次输入公钥密码(推荐不用输入,直接回车,以便在clone、pull、push等不用输入公钥密码)。
第三次出现:Enter same passphrase again: 再次输入公钥密码。出现这样的信息就代表成功了。
2、CentOS7中默认生成的目录是在/root下面,直接cd /root/.ssh。
3、把公钥里面的内容粘贴到authorized_keys文件里,执行cat id_rsa.pub >> authorized_keys。可以查看authorized_keys文件里的内容是跟id_rsa.pub文件里的内容是一样的
4、查看公钥id_rsa.pub,并复制公钥。
5、到码云或者git平台(远程代码库)找到个人公钥,添加公钥。
6、输入指令:ssh -T git@gitee.com
7、进入到项目根目录,使用命令vim .git/config
红色框中是HTTPS传输的地址,你需要改成SSH的传输地址,修改完之后如下
这样使用命令 git pull/push 就不用输入密码了,这是因为刚才在生成公钥时,没有输入密码,所以当你选择SSH地址传输时,就可免密码使用命令 git pull/push。