2016-03-19 13 views
3

Ich bin extrem dumm und manchmal füge ich einen "Feature-Zweig" in den falschen Zweig master im Gegensatz zu dem Zweig und das führt natürlich zu Schmerzen und Leiden.Gibt es eine Möglichkeit, eine lokale Niederlassung unveränderlich zu machen?

Da dies bereits das zweite Mal passiert ist, frage ich mich, ob es einen Weg für mich gibt, einen Zweig lokal unveränderlich zu machen.

Ich habe schon versucht, mit this pre-commit hook mir daran zu hindern, direkt Commits auf dem Zweig zu machen, aber das ist nicht verschmilzt, wie zu stoppen:

git checkout master 
git merge wip 

Gibt es eine Möglichkeit, alle möglichen Änderungen an einem lokalen zu verhindern Ast? Wenn nicht, ist es zumindest möglich, Änderungen zu verhindern?

+0

Wrong Commits und geht kein Problem, bis Sie sie drücken, können Sie 'nur den Master reset' zurück. – max630

Antwort

2

Sie können keine lokale Verzweigung unveränderlich machen (es gibt keinen lokalen Hook, der vor einer Zusammenführungsoperation ausgeführt wird). Wenn Sie jedoch keine Commits in der Filiale machen, sollten Sie es einfach nicht ausprobieren. Wenn Sie bereits ausgecheckt haben, löschen Sie die lokale Niederlassung:

$ git checkout some-other-branch 
$ git branch -D master 

Nun, wenn Sie versuchen, die master Zweig zur Kasse wird es scheitern:

$ git checkout master 
error: pathspec 'master' did not match any file(s) known to git. 

Wenn Sie jemals in der Upstream-master verweisen müssen Zweig (zB für eine diff), können Sie einfach direkt darauf verweisen:

$ git diff origin/master 
+0

Besteht die Gefahr, dass das lokale Löschen dieses Zweiges (vielleicht mit einigen merkwürdigen Pushs) dazu führt, dass es auch auf dem Remote-Server gelöscht wird? – Shoe

+0

Ich glaube nicht, dass dies zusätzliche Risiken birgt. – larsks

Verwandte Themen