Git, kousnutí při rebase rubrika: Nástroje: Verzování

5 Andreaw Fean
položil/-a 9.8. 11:33

Ahoj.

Často se mi stává, i když nevím proč, že při rebasování mi to hodí tuto hlášku:

af@rails repo.git $ git rebase -i HEAD~20
fatal: Unable to create '/home/af/projects/repo.git/.git/index.lock': Soubor již existuje.
 
Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.

Nevím o ničem, co by s tím repozitářem pracovalo kromě právě toho gitu. Je fakt, že mám vedle otevřený gitg, tak že by ten repozitář pingoval, a vadilo mu to?

V unstaged nic není. Stačí pustit git rebase --continue a vesele to pokračuje.

Mám pocit, že někdy (zřídka, ale přesto) to nějaký ten commit ztratí.

Nevíte co by s tím mohlo být?

Díky.

Komentáře

  • Andreaw Fean : Tak teď se mi to stalo znova. Prostě mi ztratil commit. 9.8. 12:46
odkaz
8 integer
odpověděl/-a 9.8. 14:52

Nevím co používáš, ale tohle se typicky stává pokud tvoje IDE nebo nějaký GUI nástroj na správu repozitářů tiše na pozadí aktualizuje stav tvého repa podle origin. Řešení je tyhle tiché updaty zakázat.

A pokud máš pocit, že ti git ztratil nějaký commit, tak stačí jen namířit si nějakou větev do stavu před rebasem a commit znovu uvidíš ve stromu commitů. Hash commitu, který odpovídá tomu než jsi spustil rebase zjistíš pomocí git reflog.

Komentáře

  • Andreaw Fean : Díky. Já nemám problém, že bych ten commit neuměl najít. Já bych hlavně rád, aby mi je neztrácel. Co znamená "aktualizuje stav tvého repa podle origin"? Jsem si celkem jist, že do toho repa nezapisuje. A že nedělá fetch na server. Že si hlídá, zda v repozitáři nastala nějaká změna, to je možný. Ale to je jen čtení, to by ničemu nemělo vadit. 9.8. 16:29
  • integer : Nejspíš ti nějaky proces na pozadí spouští fetch, pull nebo checkout. Mně tohle dělal SourceTree, který mám na pohodlnější prohlížení změn a historie, ale zbytek používám přes příkazovou řádku. 9.8. 17:17
  • Andreaw Fean : Chápu. To by dělat nemělo. Každopádně, to že to takhle kousne, to by mi nevadilo. Ale to, že ztratí commit? Nedá se tomu nějak zabránit? Nějaká volba v configu, nebo já nevím? 9.8. 18:50

Pro zobrazení všech 3 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.