场景:
类似github的方式
线上网站(比如www.mymagento2.com)从git主库下载更新最新代码
开发网站(比如test.mymagento2.com)也从git主库下载更新最新代码,同时上传最新代码到git主库。
这样的话,就避免了代码混乱 不一致的情况。
所以首先我们得先创建一个公共的git代码库。
假设就放在当前网站的阿里云服务器上。
假设你当前网站都已经安装运行好了。
创建git用户
创建git用户,并设置密码
sudo adduser git
会提示你输入密码。
Full Name以及下面的几个输入项就输你自己的名字就行,无关紧要。
创建git代码主库
把git库放在/home/git下面
用git用户登录
su git
cd /home/git/
mkdir magento2
cd magento2
git init && git config --bool core.bare true
这样git主库就创建好了
创建m2网站本地库并提交到git主仓库
比如开发版本,我的项目是放在/var/www/magento2下面的。
首先要切换到zou用户。
su zou
cd /var/www/magento2
1,创建.gitignore文件
该文件用来忽略你不想提交的文件。
比如项目的数据库配置文件/项目的测试数据目录等,我不想提交到主库里去。
那么就需要创建这个.gitignore文件。
vim .gitignore
具体代码见最下面的.gitignore示例代码
。
2,初始化 Git 并第一次 commit
进入项目根目录,初始化 Git 并第一次 commit
git init
git add . && git commit -am "first commit"
第一次可能会提醒你输入email和name
git config --global user.email "zouhongzhao@126.com"
git config --global user.name "zouhongzhao"
输入之后,再执行下
git add . && git commit -am "first commit"
3,添加远程主仓库地址
git主库在本机的话就是:
git remote add origin /home/git/magento2
如果报权限错误(fatal: '/home/git/magento2' does not appear to be a git repository)的话,就这样加
git remote add origin git@localhost:/home/git/magento2
git主库在其他服务器的话就是:
git remote add origin git@服务器ip地址:/home/git/magento2
4,把代码提交到git主库
git push origin master
其他版本m2网站下载最新的git主库代码
跟上面基本上是一样的操作。
比如你装了个线上版为m2-live。放在/var/www/m2-live/下面。
那么先初始化(如果没有初始化的话)。
1,创建.gitignore文件
该文件用来忽略你不想提交的文件。
比如项目的数据库配置文件/项目的测试数据目录等,我不想提交到主库里去。
那么就需要创建这个.gitignore文件。
vim .gitignore
具体代码见最下面的.gitignore示例代码
。
2,初始化 Git
git init
3,添加远程主仓库地址
添加远程仓库
git主库在本机的话就是:
git remote add origin /home/git/magento2
如果报权限错误(fatal: '/home/git/magento2' does not appear to be a git repository)的话,就这样加
git remote add origin git@localhost:/home/git/magento2
git主库在其他服务器的话就是:
git remote add origin git@服务器ip地址:/home/git/magento2
4,下载远程仓库的代码
git pull origin master
m2的.gitignore示例代码
/.buildpath
/.cache
/.metadata
/.project
/.settings
atlassian*
/nbproject
/sitemap
/sitemap.xml
/.idea
/.gitattributes
/.bash_history
/app/config_sandbox
/app/etc/env.php
/app/code/Magento/TestModule*
/lib/internal/flex/uploader/.actionScriptProperties
/lib/internal/flex/uploader/.flexProperties
/lib/internal/flex/uploader/.project
/lib/internal/flex/uploader/.settings
/lib/internal/flex/varien/.actionScriptProperties
/lib/internal/flex/varien/.flexLibProperties
/lib/internal/flex/varien/.project
/lib/internal/flex/varien/.settings
/node_modules
/.grunt
/generated
/pub/media
/pub/static
!/pub/static.php
/var/*
!/var/.htaccess
/*.zip
/*.sql
/*.csv
/*.gz
/*.tar
/generated/*