web-dev-qa-db-fra.com

Comment supprimer un fichier de Git Pull Request

J'ai une demande d'extraction ouverte contenant des fichiers project.lock.json que je ne souhaite pas fusionner lors de la fusion de ma branche avec la branche principale. Est-il possible de supprimer ces fichiers project.lock.json de ma demande d'extraction?

10
tavier

Vous devez supprimer le fichier, valider les modifications et effectuer le prochain envoi vers votre branche. 

Si vous souhaitez laisser le fichier dans votre branche, mais ne pas le fusionner avec la branche principale, vous pouvez le supprimer dans un commit, puis l'ajouter dans un autre. Git vous permet d'accepter manuellement certains commits à l'aide de git-cherry-pick. Vous pouvez accepter chaque commit sauf celui dans lequel vous avez ajouté ce fichier à nouveau.

1
Factory Girl

S'il vous plaît, faites-moi savoir s'il y a une meilleure façon de le faire. C'est la solution de contournement que j'ai trouvée.

liste des branches distantes

git branch -va

la caisse de la branche PR

git checkout Origin pr_branch

remplace le fichier de pr_branch par le fichier de other_branch

git checkout other_branch -- ./path/to/file

commettre des modifications

git commit -m "overwrite with other_branch's"

Poussez vos changements

git Push Origin pr_branch
5
Shiyason

Je pense que vous pouvez simplement remplacer votre project.lock.json par celui d'origine et commettre.

1
kofifus

Commencez par trouver le commit spécifique qui affecte ce fichier. Ensuite, les deux commandes ci-dessous doivent rétablir les commits dans ce fichier.

git revert <commit>
git Push Origin <branch name>
0
Chaitanya Vardhan

S'ils sont déjà engagés, il n'y a pas de solution facile à laquelle je puisse penser. La manière la plus simple, et une sorte de solution de contournement, est probablement de les déplacer hors du dossier de projet, de les supprimer de votre copie de travail git, de recommencer l'opération pour que votre branche ne contienne pas les fichiers JSON. Ensuite, lors de la fusion, vos fichiers JSON ne seront pas transmis.

0
mrains2k

Vous pouvez extraire master et extraire votre branche puis la rebaser contre master Et rebase master pour vous assurer que vous ne l'avez supprimée que de votre PR mais pas du référentiel. Ainsi, lorsque vous fusionnerez sur master, il ne supprimera pas ces fichiers mais uniquement. de votre PR.

git checkout master
git pull
git checkout <your-branch>
git rebase master
git Push
0
icoca