web-dev-qa-db-fra.com

Supprimer un fichier modifié de la demande d'extraction

J'ai 3 fichiers modifiés (pas de nouveaux fichiers) dans une demande d'extraction pour le moment.

Je souhaite supprimer l'un de ces fichiers de la demande d'extraction, afin que celle-ci ne contienne que des modifications apportées à deux fichiers et laisse le troisième dans son état d'origine non modifié.

J'ai essayé plusieurs choses (vérifier la version originale du fichier, etc ...) mais cela reste affiché comme fichier modifié dans le PR.

Y a-t-il une solution à cela?

59
jlee

Basculez vers la branche à partir de laquelle vous avez créé la demande d'extraction:

$ git checkout pull-request-branch

Remplacez le (s) fichier (s) modifié (s) par le fichier d'une autre branche. Considérons qu'il s'agit de maître:

git checkout Origin/master -- src/main/Java/HelloWorld.Java

Commit and Push it to the remote:

git commit -m "Removed a modified file from pull request"
git Push Origin pull-request-branch
142
Arpit

Vous voudriez modifier le commit et ensuite faire une force Push qui mettra à jour la branche avec le PR.

Voici comment je vous recommande de faire ceci:

  1. Fermez le PR afin que celui qui le passe en revue ne le retienne pas avant que vous ayez apporté vos modifications.
  2. Effectuez une réinitialisation logicielle du commit avant votre modification non désirée (s'il s'agit du dernier commit, vous pouvez utiliser git reset --soft HEAD^ ou s'il s'agit d'un commit différent, vous voudrez remplacer 'HEAD ^' par l'identifiant du commit).
  3. Annule (ou annule) toute modification du fichier que vous n'aviez pas l'intention de mettre à jour
  4. Faire un nouveau commit git commit -a -c ORIG_HEAD
  5. Force Push à votre branche
  6. Demande de réouverture

Maintenant que votre branche a été mise à jour, la demande d'extraction inclura vos modifications.

Voici un lien vers la documentation Gits où ils ont un très bon exemple sous Annuler un commit et refaire .

7
Keif Kraken

Une demande d'extraction n'est que cela: une demande de fusion d'une branche dans une autre.

Votre demande de tirage ne "contient" rien, c'est juste un marqueur disant "fusionnez cette branche dans celle-ci".

L'ensemble des modifications affichées par le PR dans l'interface utilisateur Web ne concerne que les modifications entre la branche cible et votre branche. Pour modifier votre demande d'extraction, vous devez modifier votre branche de fonctionnalité, probablement avec un push forcé vers la branche de fonctionnalité.

Dans votre cas, vous voudrez probablement modifier votre commit. Pas sûr de votre situation exacte, mais une combinaison de rebase interactive et de add -p devrait vous aider.

0
Chris Kitching