Sziasztok,
mint a címből is látható, adott a fentebbi probléma és nem tudok rájönni, hogy hozzam helyre a repo-mat. A sztori a következő: volt egy megközelítőleg 4G méretű file-om, és mivel a project témájába vágott, beraktam a project mappájába, mint backup file, majd hozzáadtam git add parancsal a verziókezelőhöz. Miután végzett a hozzáadás, rájöttem, hogy a remote repository-nak használt eszközömön egy 1G-s pendrive szolgáltatja a tárhelyet, így a források + 4G sokkal több lesz, mint ami elfér.
Tehát "git add" után command line "rm" paranccsal letöröltem, majd commitoltam (a lényegében gondoltam, hogy semmit). Ezek után bárhogy próbálkozok push-olni a változásaimat, nem működik, és az alábbi hibát kapom:
git push --all masterRemote
Counting objects: 297, done.
Compressing objects: 100% (116/116), done.
fatal: Out of memory, malloc failed (tried to allocate 3951034368 bytes)
error: pack-objects died of signal 13
error: failed to push some refs to '/home/moravas/work/repo/thesisOfMSC.git'
Valaki tudna segíteni? :(
Üdv és Köszi,
moravas
Update: tegnap este felraktam az újabb verzióját és a probléma megoldódott. Kutakodtam is kicsit, és ha jól emlékszem, találtam egy két bejegyzést, hogy ez valami bug volt az 1.7.x.x verzióban, de már az 1.8.x.x-ben ki van javítva, és tényleg. Azóta gyönyörűen megy minden.
Üdv,
moravas
- 4998 megtekintés
Hozzászólások
Ezt azért nem gondoltad át rendesen szerintem... backup fájlt a projekt repoba, ráadásul 4 gigásat???
A gitből hiába rm-ezed és commitolsz megint, mert a history miatt az a 4G fájl mindig megmarad, csak már nem lesz az újabb verzióban checkoutolva.
Szerintem max. git reset --hard -al visszaállítod az egész repót a backup fájl hozzáadása előtti commitra és nem csinálsz ilyeneket többé.
- A hozzászóláshoz be kell jelentkezni
és akkor mit kezdjek az elvesző utánna lévő commitjaim-mal?
- A hozzászóláshoz be kell jelentkezni
Amikor az architektúrájáról olvastam, az jött le, hogy a git legfőbb tulajdonsága, hogy a commitok gráfot alkotnak, mindegyik az előzőre épül, tehát esélyed nincs kivenni belőle valamit, csak a végéről lehet visszabontani, hard reset meg amends kulcsszavak. Ha azóta volt más commit, akkor kézzel mentsd el a diff-eket, és majd applikáld vissza.
- A hozzászóláshoz be kell jelentkezni
Miért ne lehetne kibontani. Max megváltozik a commit hash. A historyt szét lehet barmolni, csak lehet szívás lesz, de ha egy bináris fájlt hozzáadása a commit, akkor valószínűleg gond nélkül megyen.
----
India delenda est.
Hülye pelikán
- A hozzászóláshoz be kell jelentkezni
Nem vagyok git szakértő, remélem jön valaki nálam kompetensebb is segíteni.
Szerintem megoldás lehet a git cherry-pick. Olvass utána. Meg úgy általában a git-nek is.
- A hozzászóláshoz be kell jelentkezni
git rebase -i commit-hash~
commithoz tartozó sor törlése
git rebase --continue
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
- A hozzászóláshoz be kell jelentkezni
+1, tényleg egyszerű, csak szétcseszi a historyt, ami nem gond, ha másnál ez nem zavar.
----
India delenda est.
Hülye pelikán
- A hozzászóláshoz be kell jelentkezni
Ha csak az a commit a zavaró és nem tudta felpush-olni, akkor nincs meg másnál, szóval nem zavar be. Más lenne a leányzó fekvése, ha ez egy már push-olt dolog lenne.
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
- A hozzászóláshoz be kell jelentkezni
Igaz, pont abból indult ki a téma, hogy nem tudja megosztani mással a frissítéseket, akkor még nyugodtan lehet belőle kapálni.
----
India delenda est.
Hülye pelikán
- A hozzászóláshoz be kell jelentkezni
Azért előtte csinálnék biztonsági mentést a repóról, bár még soha nem volt rá szükségem.
Szerintem ezzel a problémát meg is oldottuk! :)
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
- A hozzászóláshoz be kell jelentkezni
Így feltöltötted a 4 gigás fájlt a repóba? Örülni fognak neked.
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
- A hozzászóláshoz be kell jelentkezni