Mai mult
Cum pentru a înlocui ramura master in Git, în întregime, dintr-o altă ramură?
Posibil Duplicat:
Face actuala Git branch-o ramura master
Am două ramuri în depozit Git:
- "maestru"
seotweaks
(creat inițial de la "maestru")
Am creat `seotweaks cu intenția de rapid absorbit înapoi în "maestru". Cu toate acestea, în urmă cu trei luni și codul în această ramură este de 13 versiuni înainte de "maestru".
Acesta a devenit efectiv nostru de lucru master de ramură ca tot codul în "maestru" este mai mult sau mai puțin învechit acum.
Foarte rău practică știu, am învățat lecția.
Știi cum mă poate înlocui toate din conținutul de "maestru" ramură cu cei din seotweaks
?
Aș putea șterge totul în "maestru" și merge, dar asta nu pare a fi cea mai bună practică.
1540
5
Tu ar trebui să fie capabil de a utiliza "noastra" merge o strategie pentru a suprascrie master cu seotweaks astfel:
Rezultatul ar trebui să fie stăpânul tău este acum în esență seotweaks.
(
-e al nostru
este prescurtarea de la--strategie de=al nostru
)De la documente despre 'nostru' strategie:
Actualizare de la comentarii: Dacă ai fi fatala:
refuzul de a merge fără legătură istorii
, apoi schimba linia a doua la acest lucru: git `merge ... permite-independenți-istorii -s ale noastre de masterCe despre utilizarea git branch -m pentru a redenumi ramura de master la altul, apoi redenumiți seotweaks ramură a stăpâni? Ceva de genul asta:
Acest lucru ar putea elimina angajează în origine master, vă rugăm să verificați origine maestru înainte de a rula `git push-f origine master.
Puteți redenumi/șterge master la distanță, dar acest lucru va fi o problemă dacă o mulțime de oameni și-au bazat munca pe master la distanță de ramură și-au retras această sucursală în lor locale repo. Asta s-ar putea să nu fie cazul aici deoarece toată lumea pare a fi de lucru pe ramură '
seotweaks
'.În acest caz, puteți: git remote-arată-ar putea să nu funcționeze. (Face o
git remote show
pentru a verifica modul de la distanță este declarat în termen locale repo. Voi presupune ' "origine" ') (Cu privire la GitHub, house9 comentarii: "am avut de a face un pas suplimentar, faceți clic pe ' "Admin" ' buton de pe GitHub și a stabilit 'Default Ramură
' de ' "maestru" ', apoi pune-l înapoi")Dar, din nou:
Din
seotweaks
a fost inițial creat ca o ramură de "maestru", care fuzionează înapoi este o idee bună. Cu toate acestea, dacă sunteți într-o situație în care una din ramuri nu este cu adevărat o ramură de "stăpân" sau istoria ta este atât de diferită că vrei doar să șteargă "maestru" sucursală în favoarea nouă ramură care le'am fost faci munca pe puteți face acest lucru:Acest lucru este util mai ales dacă primiți această eroare:
Și nu utilizați GitHub și don't au acces la "Administrare" tab pentru a schimba implicit branch pentru datele depozit la distanță. În plus, asta nu't provoca sau condițiile de rasă ca s-ar putea întâlni de ștergerea de master:
Am găsit acest lucru să fie cel mai bun mod de a face acest lucru (am avut o problema cu serverul meu nu mă lasă să ștergeți).
Pe serverul care găzduiește cel de "origine" repository, tastați următoarea dintr-un director în depozit:
Pe stația dumneavoastră de lucru:
Înapoi pe serverul care găzduiește cel de "origine" depozit:
Credit pentru autor de blog http://www.mslinn.com/blog/?p=772