Il comando Composer install sostituisce il file .gitignore, Adobe Commerce

Questo articolo fornisce una soluzione per quando un file .gitignore tracciato viene sovrascritto dal compositore su Adobe Commerce su infrastruttura cloud 2.4.2-p1 e 2.3.7.

Prodotti e versioni interessati

Adobe Commerce su infrastruttura cloud 2.4.2-p1 e 2.3.7.

Problema

Il file .gitignore viene sovrascritto durante l'esecuzione del comando di installazione del compositore.

Passaggi da riprodurre:

  1. Crea una directory vuota per il workspace.

  2. Esegui questo comando nella directory radice:

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

    # o 2.3.7

  3. Eseguire quindi i seguenti comandi:

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

    2. git init

    3. git add * && git add .*

    4. git commit -m "Init" # file inviati al repository

    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
      

Risultato previsto:

.gitignore non è sovrascritto dal compositore.

Risultato effettivo:

.gitignore viene sovrascritto da ogni esecuzione dell'installazione del compositore.

Soluzione

Per mantenere .gitignore file personalizzato, è necessario ignorarlo nella sezione magento-deploy-ignore.

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

Lettura correlata

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