Грешка „ Прво морате да решите свој тренутни индекс “ појављује се у Гиту и значи да постоји сукоб спајања и ако не решите сукоб, неће вам бити дозвољено плаћање у другу грану. Ова порука о грешци такође значи да спајање није успело или да постоје сукоби са датотекама.
Које су све ове датотеке, спајања и сукоби? Ови услови ће вам бити непознати ако сте почетник у коришћењу Гита. Гит је платформа за контролу верзија која омогућава неколико људи да истовремено раде на датотекама и потискују своју локалну копију кода на ону која се чува у облаку. На овај начин, ако промените неки преузети (или већ гурнути) код и поново га гурнете у облак, ваша локална копија ће у облаку променити промене.
Гит има концепт грана. Постоји главна грана и неколико других грана се грана од ње. Ова грешка се посебно јавља ако прелазите са једне гране на другу (користећи наплату) и постоје сукоби у датотекама тренутне гране. Ако се не реше, нећете моћи да промените огранке.
Шта узрокује грешку Гит: Прво морате да решите свој тренутни индекс?
Као што је раније поменуто, узроци ове грешке су прилично ограничени. До ове грешке ће доћи јер:
- Обједињавање није успело и потребно је да се обрати стапања сукоб пре преласка на другим задацима.
- У датотекама у вашој тренутној (или циљаној грани) постоје сукоби и због тих сукоба нећете моћи да се пријавите из филијале или пусх кода.
Пре него што наставите са решењем, уверите се да имате одговарајућу контролу верзија и паметно је зауставити друге чланове тима да промене код пре него што решите сукоб.
Решење 1: Решавање сукоба спајања
Ако Гит аутоматски не реши ваше спајање, индекс и радно стабло оставља у посебном стању које ће вам пружити све информације потребне за решавање спајања. Датотеке у којима постоји сукоб биће посебно означене у индексу и све док не решите проблем и не ажурирате индекс, и даље ћете примати ову поруку о грешци.
- Решите све сукобе . Проверите датотеке у којима постоји сукоб јер ће бити означени индексом и унесите измене у њих у складу с тим.
- Након што решите све постојеће неусаглашености, додајте датотеку и затим извршите урезивање .
Пример је:
$ гит додај датотеку.ткт $ гит цоммит
Можете да додате свој лични коментар током урезивања. Пример је:
$ гит цоммит –м „Ово је Аппуалс Гит спремиште“
- Након што решите сукоб, покушајте да се одјавите из постојеће гране и видите да ли је проблем решен.
Решење 2: Враћање стапања
Бројни су случајеви када спајате гране и забрљате. Због свих сукоба и забуне, пројекат је сада у нереду и чланови вашег тима вас за то криве. У овом случају морате вратити претходни урези (урезивање спајањем) . Ово ће у потпуности поништити спајање и вратити цео пројекат у стање када нисте извршили спајање. Ово може бити спас ако сте забрљали ствари које се не могу поправити.
Да бисте вратили обједињавање , откуцајте следеће:
$ гит ресет -– спајање
Горња наредба ће ресетовати индекс и ажурирати датотеке у радном стаблу које се разликују између „предавања“ и „главе“. Међутим, задржат ће оне датотеке које се разликују између индекса и радног стабла.
Такође можете покушати да вратите ХЕАД помоћу следеће наредбе:
$ гит реверт ХЕАД
Ако желите одредити тачно урезивање спајања које желите вратити, можете користити исту наредбу враћања, али одредити додатне параметре. Употријебит ће се хасх СХА1 урезивања спајања. Ознака -м иза које следи 1 означава да желимо да задржимо надређену страну спајања (грана у коју се спајамо). Резултат овог враћања је да ће Гит створити нови комитет који уводи промене из спајања.
$ гит реверт -м 1 дд8д6ф587фа24327д5ф5афд6фа8ц3е604189ц8д4>