我在git lab中设置了git存储库。现在,每次更改分支我都应该这样做:
npm install && composer install && cp .env.example .env && artisan generate key
因为我丢失了.env
,node_modules
和作曲者模块。并且需要很长时间重新安装它们。如果我没有安装node_modules和其他东西,我将无法运行它并测试分支
我想知道我是不是做错了什么,还是有办法做到这一点。
我做了很多搜索,但是没有运气。
预先感谢
答案 0 :(得分:2)
您确定git忽略了您正在谈论的文件/目录(它们在您的.gitignore
文件中)吗?如果不是这种情况,这是您问题的答案:
由于它们已绑定到您正在使用的环境,因此git绝不应该触摸它们。这就是为什么在另一个分支结帐时不应该丢失它们的原因。
应仅对composer.lock
,package-lock.json
和.env.example
进行版本控制。然后,当您从GitLab克隆存储库时,执行npm install
,composer install
,复制.env.example
等...以设置依赖项,但是依赖项目录(例如node_modules
)不应来自您的存储库。
然后过一会儿,让我们假设您想更新Composer依赖项。您将执行composer update
。您的composer.lock
文件将被更新,并将被提交到您的存储库。
然后,如果另一台计算机上的某人拉出您的更改,则他只会拉出新更新的composer.lock
文件。然后,他将制作一个composer install
,该文件将把composer.lock
的依赖项安装(或更新,如果以前已经安装过这些依赖项)到他的vendor
文件夹中。
希望对您有所帮助,请随时在评论中提出更多详细信息:)