„Git“ neleidžia spustelėti po pakeitimo

Aš paprastai paleisiu

 git add file git commit git push 

bet jei git commit --amend jį spustelėjęs (naudojant git commit --amend ), kitas paspaudimas nepavyks

 hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (eg hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. 

Kaip galiu leisti „git push“ pakeitimus nesujungus filialų? Turiu tik vieną filialą ( master ), ir aš esu vienintelis asmuo, kuris naudojasi šia repo, tad kodėl jis tai sako?

git filialas -a:

 * master remotes/origin/HEAD -> origin/master remotes/origin/master 

EDIT: Naudodamiesi gitk HEAD @{u} , matau, kad turiu du filialus, vieną su originaliu pataisymu, o kitą - su modifikuotu taisymu.

31
03 сент. nustatė minerz029 03 sep . 2013-09-03 12:42 '13, 12:42, 2013-09-03 12:42
@ 3 atsakymai

Tai gali atsitikti tik tuo atveju, jei pataisysite jau padarytą fiksaciją. Paprastai jūs neturėtumėte to daryti, nes keičiate paskelbtą istoriją. Tačiau, jūsų atveju, galite palikti push -f , kuris perrašys nuotolinį įvykį su pakeista versija.

44
03 сент. atsakymą pateikė Joey 03 rugsėjis 2013-09-03 12:44 '13, 12:44, 2013-09-03 12:44

jūs pakeitėte laikiklį, pašalintą kaip

 git pull origin master git commit -a --amend -m "..." git push 

Galite išspręsti problemą grąžindami pataisytą pranešimą:

 git reset --mixed origin/master 

ir tada dar kartą jį užfiksuokite

6
03 сент. Atsakymas, kurį pateikė Stefano Falasca 03 Sep 2013-09-03 12:44 '13, 12:44, 2013-09-03 12:44

Taip, jūs neturėtumėte to daryti (paspausdami fiksaciją, pakeisdami ją ir bandydami ją dar kartą paspausti).

Vietoj to, galite atšaukti „Git“ prie ankstesnio įsipareigojimo nekeičiant failų ir tada sukurkite naują įsipareigojimą:

 git reset --mixed origin/master git add . git commit -m "This is a new commit for what I originally planned to be an amendmend" git push origin master 

tai sukurs naują įsipareigojimą su pakeitimais, kuriuos ketinate keisti.

6
03 сент. Atsakymas suteiktas Nils Werner 03 sep. 2013-09-03 12:45 '13, 12:45, 2013-09-03 12:45

Kiti klausimai apie „ žymes „ arba Klauskite“