通向全栈之路——(5)git通三端
一.在私有git服务中新建一个项目(码云):
将电脑上id_rsa.pub(git公钥)拷贝至ssh下面中保存
二.本地代码关联git:
1.git全局设置:
git config --global user.name "XXX"
git config --global user.email "XXXX@qq.com"
2.进入项目目录,干净的仓库,初始化:
git init
git add README.md
git commit -m "first commit"
git remote add origin git@git.oschina.net:XXXXXXXXXXX.git
git push -u origin master
3.更新远端代码:
git fetch
4.代码合并:
git merge origin/master
PS:处理冲突:
(1)如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:
git stash
git pull
git stash pop
然后可以使用Git diff -w +文件名 来确认代码自动合并的情况.
(2)反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:
git reset --hard
git pull
其中git reset是针对版本,如果想针对文件回退本地修改,使用
git checkout HEAD file/to/restore
三.从服务器到第三方仓库
git clone XXXXX(第三方仓库地址)
四.使用pm2实现一键发布功能:
1.项目根目录下新建ecosystem.json文件,
ecosystem.json文件内容如下所示:(保证路径统一)
{
"apps":[
{
"name":"website",
"script":"app.js",
"env":{
"COMMON_VARIABLE":"true"
},
"env_production":{
"NODE_ENV":"production"
}
}
],
"deploy":{
"production":{
"user":"XXX",
"host":["47.94.93.140"],
"port":"32738",
"ref":"origin/master",
"repo":"https://git.oschina.net/XXXX/XXXX.git",
"path":"/www/website/production",
"ssh_options":"StrictHostKeyChecking=no",
"env":{
"NODE_ENV":"production"
}
}
}
}
2.设置改目录权限:sudo chmod 777 website
3.执行该配置文件操作
pm2 deploy ecosystem.json production setup