O comando de instalação do Composer substitui o arquivo .gitignore, Adobe Commerce

Este artigo fornece uma solução para quando um arquivo .gitignore rastreado é substituído pelo compositor no Adobe Commerce na infraestrutura de nuvem 2.4.2-p1 e 2.3.7.

Produtos e versões afetados

Adobe Commerce na infraestrutura em nuvem 2.4.2-p1 e 2.3.7.

Problema

O arquivo .gitignore está sendo substituído durante a execução do comando de instalação do compositor.

Etapas a serem reproduzidas:

  1. Crie um diretório vazio para o espaço de trabalho.

  2. Execute este comando no diretório raiz:

    code language-bash
    composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition:2.4.2-p1.
    

    # ou 2.3.7

  3. Em seguida, execute os seguintes comandos:

    1. echo "/this/line/should/stay" >> .gitignore

    2. git init

    3. git add * && git add .*

    4. git commit -m "Init" # arquivo comprometido com o repositório

    5. rm -rf vendor/*

    6. composer install

    7. git diff

      code language-git
      diff --git a/.gitignore b/.gitignore
      index c144521..7092a56 100644
      --- a/.gitignore
      +++ b/.gitignore
      @@ -70,4 +70,3 @@ atlassian*
      /generated/*
      !/generated/.htaccess
      .DS_Store
      -/this/line/should/stay
      

Resultado esperado:

.gitignore não foi substituído pelo compositor.

Resultado real:

.gitignore é substituído por cada execução de instalação do compositor.

Solução

Para manter seu .gitignore file personalizado, você precisa ignorá-lo na seção magento-deploy-ignore.

{
...
"extra": {
    "magento-deploy-ignore": {
        "*": [
            "/.gitignore"
        ]
    }
    ...
}

Leitura relacionada

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a