kzen.dev
  • Frågor
  • Taggar
  • Användare
Meddelanden
Belöningar
Registrering
När du har registrerat dig kommer du att få information om svar och kommentarer på dina frågor.
Logga in
Om du redan har ett konto loggar du in för att kontrollera nya meddelanden.
Det kommer att finnas belöningar för frågor, svar och kommentarer.
Mer
Källa
Redigera
 Spyros
Spyros
Question

Hur forcerar jag en Git-push på rätt sätt?

Jag har satt upp en fjärrkontrollerad icke-bara "main" repo och klonat den till min dator. Jag gjorde några lokala ändringar, uppdaterade mitt lokala förråd och tryckte tillbaka ändringarna till min fjärrrepo. Allt gick bra fram till dess.

Nu var jag tvungen att ändra något i fjärrrepo:n. Då ändrade jag något i min lokala repo. Jag insåg att ändringen i fjärrrepo:n inte behövdes. Så jag försökte git push från min lokala repo till min fjärrrepo, men jag fick ett fel som:

För att förhindra att du förlorar historik, har icke-snabbt-vidarebefodrade uppdateringar avvisas Sammanfoga fjärrändringarna innan du pushar igen. Se 'Anmärkning about fast-forwards' i avsnittet git push --help för mer information.

Jag trodde att det förmodligen var en

git push --force

skulle tvinga min lokala kopia att flytta ändringar till den fjärrkontrollerade kopian och göra den likadan. Det tvingar fram uppdateringen, men när jag går tillbaka till fjärrrepo:n och gör en commit märker jag att filerna innehåller föråldrade ändringar (sådana som fjärrrepo:n tidigare hade).

Som jag nämnde i [kommentarer till ett av svaren] (https://stackoverflow.com/questions/5509543/how-do-i-properly-force-a-git-push#comment6275726_5509588):

[Jag] försökte forcera, men när jag går tillbaka till huvudservern för att spara ändringarna får jag föråldrad staging. När jag lägger in är alltså inte repositorierna samma. Och när jag försöker använda git push igen får jag samma fel.

Hur kan jag åtgärda detta problem?

1201 2011-04-01T05:35:54+00:00 3
 Community
Community
Redigerad fråga 2017ör maj 2017 в 12:10
Programmering
push
git
git-push
git-non-bare-repository
Popular videos
Learn Git from Scratch - How to Create Branches and push to Github
Learn Git from Scratch - How to Create Branches and push to Github
för 6 år sedan
How to Push Code to Github
How to Push Code to Github
för 3 år sedan
GIT:undo last push Github
GIT:undo last push Github
för 5 år sedan
git push   force vs git push   force with lease
git push force vs git push force with lease
för 3 år sedan
Git Push Command | Git Bash Tutorial | Git Commands | Git Tutorial For Beginners | Simplilearn
Git Push Command | Git Bash Tutorial | Git Commands | Git Tutorial For Beginners | Simplilearn
för 3 år sedan
Git Clone add commit and Push tutorial
Git Clone add commit and Push tutorial
för 8 år sedan
Session 13 21st oct | Git, push, pull, gitingnore, create AMI, snapshot, share AMI
Session 13 21st oct | Git, push, pull, gitingnore, create AMI, snapshot, share AMI
för 1 år sedan
git push command
git push command
för 5 år sedan
Your first git push
Your first git push
för 2 år sedan
git push, git pull - how it works
git push, git pull - how it works
för 5 år sedan
Git Tutorial : git push
Git Tutorial : git push
för 1 år sedan
030 git: SmartGit first push
030 git: SmartGit first push
för 2 år sedan
Git and GitHub for Beginners - Crash Course
Git and GitHub for Beginners - Crash Course
för 3 år sedan
6-GIT (Push) Arabic
6-GIT (Push) Arabic
för 2 år sedan
Jenkins build triggers - how to run build on git push
Jenkins build triggers - how to run build on git push
för 3 år sedan
Git for Godot using the terminal in 2 minutes
Git for Godot using the terminal in 2 minutes
för 2 år sedan
How to Commit & Push to GitHub in Visual Studio 2019
How to Commit & Push to GitHub in Visual Studio 2019
för 2 år sedan
push files github clone method
push files github clone method
för 2 år sedan
11. Tulipanes Fáciles de 3 tipos. Tutorial rápido cómo hacer paso a paso. Patrones moldes gratis.
11. Tulipanes Fáciles de 3 tipos. Tutorial rápido cómo hacer paso a paso. Patrones moldes gratis.
för 2 år sedan
« Föregående
Nästa »
Den här frågan har 1 svar på engelska, för att läsa dem logga in på ditt konto.
Solution / Answer
 Katie
Katie
2012ör september 2012 в 9:31
2012-09-26T21:31:33+00:00
Mer
Källa
Redigera
#12207137

Gör det bara:

git push origin <your_branch_name> --force

eller om du har en specifik repo:

git push https://git.... --force

Detta kommer att radera dina tidigare commit(s) och pusha din nuvarande.

Det kanske inte är riktigt, men om någon snubblar över den här sidan och tänkte att de kanske vill ha en enkel lösning...

Kort flagga

Notera också att -f är en förkortning för --force, så

git push origin <your_branch_name> -f

fungerar också.

Alex Zhukovskiy
Alex Zhukovskiy
Redigerat svar 2017ör juni 2017 в 1:19
2186
0
 ubik
ubik
2011ör april 2011 в 5:42
2011-04-01T05:42:29+00:00
Mer
Källa
Redigera
#12207135

Först och främst skulle jag inte göra några ändringar direkt i repo "main". Om du verkligen vill ha en "main" repo, bör du bara pusha till den, aldrig ändra den direkt.

När det gäller felet du får, har du försökt med git pull från din lokala repo, och sedan git push till huvudrepoen? Det du gör för närvarande (om jag har förstått det rätt) är att tvinga fram push och sedan förlora dina ändringar i huvudrepoen. Du bör sammanföra ändringarna lokalt först.

18
0
 VonC
VonC
2011ör april 2011 в 5:53
2011-04-01T05:53:27+00:00
Mer
Källa
Redigera
#12207136

Jag skulle verkligen rekommendera den till:

  • endast till huvudrepo:n

  • se till att huvudrepo är en bare repo, för att aldrig ha några problem med att huvudrepos arbetsträd inte är synkroniserat med dess .git-bas. Se "Hur man pushar ett lokalt git-förråd till en annan dator?"

  • Om du måste göra ändringar i huvudrepoen (bare repo), klona den (på huvudservern), gör dina ändringar och push tillbaka till den.

Med andra ord, håll en bar repo tillgänglig både från huvudservern och den lokala datorn, för att ha en enda uppströmsrepo från/till vilken du kan dra/dra.

 Community
Community
Redigerat svar 2017ör maj 2017 в 12:02
11
0
Lägg till en fråga
Kategorier
Alla
Teknik
Kultur / fritid
Livet / Konst
Vetenskap
Professionell
Företag
Användare
Alla
Ny
Populära
1
工藤 芳則
Registrerad för 6 dagar sedan
2
Ирина Беляева
Registrerad för 1 vecka sedan
3
Darya Arsenyeva
Registrerad för 1 vecka sedan
4
anyta nuam-nuam (LapuSiK)
Registrerad för 1 vecka sedan
5
Shuhratjon Imomkulov
Registrerad för 1 vecka sedan
DA
DE
EL
ES
FR
ID
IT
JA
LV
NL
NO
PT
RO
RU
SL
SV
TR
ZH
© kzen.dev 2023
Källa
stackoverflow.com
under licens cc by-sa 3.0 med angivande av