2016-04-21 4 views
5

Ich habe eine Pull-Anfrage geöffnet, wo ich einige project.lock.json Dateien habe, die ich nicht zusammenführen möchte, während ich meinen Zweig zum Hauptzweig zusammenführe. Gibt es eine Möglichkeit, diese project.lock.json Dateien von meiner Pull-Anfrage zu entfernen?Wie entferne ich eine Datei von Git Pull Request

Antwort

1

Sie müssen Datei entfernen, Änderungen bestätigen und nächsten Push zu Ihrem Zweig machen.

Wenn Sie die Datei in Ihrer Zweigstelle belassen möchten, sie jedoch nicht in die Hauptverzweigung einbinden möchten, können Sie sie in einem Commit löschen und dann in einem anderen Commit erneut hinzufügen. Mit Git können Sie bestimmte Commits mit git-cherry-pick manuell akzeptieren. Sie können jedes Commit außer dem akzeptieren, in dem Sie diese Datei erneut hinzugefügt haben.

0

Wenn sie bereits begangen werden, gibt es keinen einfachen Weg, an den ich denken kann. Wahrscheinlich ist der einfachste Weg, und eine Art der Arbeit, ist es, sie aus dem Projektordner zu entfernen, entfernen Sie sie aus Ihrer Git-Arbeitskopie, wieder zu empfehlen, so dass Ihre Niederlassung nicht die JSON-Dateien in ihnen hat. Dann, wenn Sie Ihre JSON-Dateien zusammenführen wird nicht über.

+2

Würde diese Änderung nicht als "Datei gelöscht" angezeigt? Wenn ich diese Datei vollständig lösche und dann meine Pull-Anfrage zusammenführe, würde sie diese Datei auch aus dem Hauptzweig löschen, richtig? – tavier

0

Ich denke, Sie können einfach Ihre project.lock.json mit dem Ursprung überschreiben und commit.

2

Bitte lassen Sie mich wissen, ob es eine bessere Möglichkeit gibt, dies zu tun. Dies ist die Problemumgehung, die ich gefunden habe.

Liste Remote-Niederlassungen

git branch -va 

Kasse der PR Niederlassung

git checkout origin pr_branch 

Überschreiben pr_branch die Datei mit other_branch der Datei

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

Änderungen verpflichten

git commit -m "overwrite with other_branch's" 

Änderungen

git push origin pr_branch 
0

drücken Sie Master-Prüfung können und ziehen und dann Zweig gegen Meister rebase und Master rebase um sicherzustellen, dass Sie es nur von Ihrem PR entfernt haben, aber nicht aus dem Repo so, wenn Sie fusionieren mit Master, aber diese Dateien werden nicht gelöscht, sondern nur von Ihrer PR.

git checkout master 
git pull 
git checkout <your-branch> 
git rebase master 
git push 
Verwandte Themen