相比于wordpress而言,magento似乎很麻烦,两种不同的架构方式,magento上手比较难,而且解决问题起来会很费时间,今天来说说magento开发搭建版本控制的环境吧
对magento做二次开发需要修改很多地方的代码,我们不可能每次修改就备份一下,而且修改的幅度会很大,为了能够吃“后悔药”,我们需要引入一个版本控制系统,通过版本控制系统,我们可以很好的进行控制和开发,如果出现意想不到的问题的时候,我们可以进行版本回退,节省我们大量的时间去修复bug
先安装git在你的本地电脑上,然后把SSH这个东西的公钥(.ssh文件夹里面的.pub)放在你的github账号中,然后添加好,给大家看个示意图
弄完之后,这里主要是出了一些问题,我这里重点来解决这些问题,我在本地的magento2里的文件放在本地的git仓库的工作区,然后运行
git add -A
然后
git commit -m “add all file to remote”
然后是
git remote add origin git@github.com:helongquan/nocti_magento2.git
直到这里都没啥问题,到了
git push -u origin master
的时候,出现了这么一个问题
这个问题,我百度了下,发现很多人也遇到类似的问题
二、问题分析
先到github上看看远程repository下到底有啥东西,发现目标库是空的。
但是有一个README.md文件(本地代码中没有),而出现错误的原因是github中的README.md文件不在本地代码目录中。
也就是说我们需要先将远程代码库中的任何文件先pull到本地代码库中,才能push新的代码到github代码库中。
三、解决问题
1、将远程代码库中的代码pull到本地代码库,并且执行合并merge:
$ git pull --rebase origin master warning: no common commits remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), done. From github.com:zuiwangzuo/myDemoPro * branch master -> FETCH_HEAD * [new branch] master -> origin/master First, rewinding head to replay your work on top of it… Applying: 提交初始代码。
再次push代码:
$ git push origin master Counting objects: 20, done. Delta compression using up to 2 threads. Compressing objects: 100% (12/12), done. Writing objects: 100% (20/20), 2.51 KiB | 0 bytes/s, done. Total 20 (delta 0), reused 0 (delta 0) To git@github.com:zuiwangzuo/myDemoPro.git 8227f7c..aff8663 master -> master
我们看到本地代码已经成功的提交到远程代码中,至此问题解决。
这里顺便引用下别人遇到的其他问题
当我执行 Git add somefile或者commit somefile 的时候,出现 如下 错误:
解决方法
rm -f ./.git/index.lock
将那个存在的文件删除掉,然后再执行一次add或者commit将会成功。
还有遇到一些其他的,比如我们在运行git commit的时候不加后面的 -m “add something message”也会报错,所以我们根据标准的格式走会更容易少走弯路。
有的时候提交没有反应,有可能是文件较大,或者是网络太慢的原因,最重要的地方在于根据报错去解决问题是最快的。
未经允许不得转载:哈勃私语 » 为magento2开发搭建git版本控制系统
本文共1629个字 创建时间:2017年8月28日19:01