为magento2开发搭建git版本控制系统

相比于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   

分享到:更多 ()