Інший процес git, здається, працює в цьому сховищі


667

Я намагаюся навчитися використовувати Git і створив невеликий проект з файлом HTML, CSS та Javascript. Я зробив гілку з мого в основному порожнього проекту, а потім внесли деякі зміни в свій код. Я спробував поетапно змінити зміни, але отримую таке повідомлення про помилку:

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.

Зрозуміло, я зіткнувся з проблемами, намагаючись здійснити свій порожній проект раніше і просто кинув git bash, оскільки не знав, як вибратися звідки я якось потрапив.

Чи є у мене спосіб це виправити чи мені просто запустити нове сховище?


1
Здається, напевно є інший процес, що працює з RN, можливо, в іншій вкладці терміналу?
Вінсент Родоміста

Відкрийте диспетчер завдань і подивіться, що ще працює. Можливо, вам також буде дозволено використовувати Process Explorer, якщо він встановлений.
Тім Бігелейсен

Спробуйте використовувати git bash, командний рядок або GUI, тоді ви можете розблокувати заблокований git
SalindaKrish

Відповіді:


1291

Спробуйте видалити index.lockфайл у своєму .gitкаталозі.

rm -f .git/index.lock

Такі проблеми, як правило, виникають, коли ви виконуєте дві gitкоманди одночасно; можливо один із командного рядка та один із IDE.


7
У мене з’явилася така помилка: rm: не можна видалити '.git / index.lock': Пристрій чи ресурс зайнятий
Yuvraj Patil

8
видалити зrm -f .git/index.lock
Вільям Хемпшир

Спробуйте видалити CocoaPods Podfile.lock.
LinusGeffarth

1
Працював і для мене, Дякую. Цікаво, чому ця відповідь ще не позначена як прийнята. Послідовність команд: 1) знайти | Grep '\ .lock $' 2) гт -f ./.git/index.lock
Ankush

4
Якщо там немає index.lockфайлу, перевірте, чи HEAD.lock· Видалення його вирішило проблему для мене.
Даніель Шац

64

Використовуйте команду нижче в кореневому каталозі програми. Це видалить файл index.lock та звільнить активний замок.

rm .git/index.lock

Я також повинен був закрити Sublime-Text, оскільки він мав плагін git. Ще одна IDE, підключена до git, ймовірно, має таку ж проблему
нік carraway

31

Видалення мого повідомлення про вчинення працювало для мене.

rm .git/COMMIT_EDITMSG

Тоді сказано.

fatal: не вдається заблокувати ref 'HEAD': Не вдається створити '.git / refs / heads / [your-branch-name] .lock': Файл існує.

Зауважте, що назва вашої філії може відрізнятися від моєї. Ви можете видалити цей файл блокування, виконавши;

rm .git/refs/heads/[your-branch-name].lock

Сподіваюся, що це комусь допоможе.


3
ось що мені допомогло, інші відповіді нічого не зробили для мене.
CodyMace

1
Це спрацьовувало, коли я намагався зв'язатись з докер-композицією на задньому плані.
Джон Шпітері

15

Гаразд, я закінчила роботу, запустивши '$ git rm .git / index.lock' ... Це дивно, тому що я робив це кілька разів раніше, але нічого не вдалося, але ей комп'ютери, правда?


5
Тут не потрібно використовувати git rm, просто rmдостатньо. index.lockне файл, який слід відслідковувати за допомогою git.
Матьє Мой

8

Це трапилося зі мною, і хоча sourcetree постійно говорив мені, що файл блокування існує, такого файлу мені не вдалося видалити. Тож я просто перевірив іншу гілку, а потім повернувся до початкової гілки і помітив, що ця зміна виправила проблему.


7

Це схоже на вищезазначені методи, але в моєму випадку у мене було кілька таких

.git/refs/heads/<branch_name>.lock

і змогла видалити все одразу цим способом

find -name "*.lock" -exec xargs rm {} \;

4

Для мене проблема була простішою: це було у вихідному дереві, тому я не впевнений, наскільки це стосуватиметься звичайних рішень, але я випадково вибрав свою головну гілку, яка намагалася взяти на себе зобов’язання, а не мої неспроможні зміни.

Це, як правило, не є проблемою, але я вже попередньо ввів повідомлення про фіксацію, щоб я міг відслідковувати, що я роблю для цього маленького спринту, на якому я був.

В основному, я почав здійснювати комісію на невипущеній гілці і випадково намагався почати ще один комітет на моїй головній гілці.


4

Якщо ви використовуєте CocoaPods і в якийсь момент отримали оновлення або встановлення (вручну вбили його чи щось), спробуйте

1) Видалення index.lockфайлу (в .git/index.lock)

2) Видаліть Podfile.lockфайл.

3) Зробіть нове pod update

4) Спробуйте видати команду git, яка провалилась (у моєму випадку це було git add .)


4

Якщо ви користувач Windows, виникла помилка 'rm' is not recognized as an internal or external command. Це тому, що rm - це команда Linux. Тож у Windows ви можете скористатися нижче, щоб видалити index.lockфайл із .gitпапки

del -f .git/index.lock

3

Може статися, що ваша гілка пошкоджена, створіть нове відділення git #check branch. Я створив нову галузь і працюю.

branch -b "main"
git checkout -b "main"  #main is new branch
git add .
git commit -m "all files"
git remote add origin #**YOUR REPO**  https://github.com/tarun-techmarbles/wp-dump-sql-git-push.git
git push origin main  #push with new branch 

3

Хоча є альтернатива вище, але це не вирішило мою. У моєму випадку я видаляю плагін "git" в.


3

Я отримав цю помилку pod update. Я вирішив її, видаливши index.lockфайл в cocoapods«S .gitкаталозі.

rm -f /Users/my_user_name/.cocoapods/repos/master/.git/index.lock

Це може комусь допомогти.


2

Використовуйте наступну команду у випадку, якщо ви зіткнулися з іншим процесом git, схоже, працює в цьому сховищі, наприклад, редактор, відкритий командою "git commit". Переконайтеся, що всі процеси припинені, а потім спробуйте ще раз. Якщо вона все-таки не вдається, процес git може зірватися в цьому сховищі раніше: видаліть файл вручну, щоб продовжити.

rm -f .git / index.lock

git reset і після команди reset використовують статус git, git add та git commit -a або git commit -m "ваше повідомлення", git push master master.


2

rm -f .git/index.lockне допомогло, оскільки у мене був заблокований файл, який неможливо було видалити. Отже, index.lockтакож були захоплені якоюсь заявою.

Я завантажив альтернативу Unlocker під назвою Lock Hunter і видалив обидва файли. Gitзахопили їх.


2

У мене теж виникали проблеми, коли я намагався поставити файл у SourceTree.

Щоб вирішити це, перейдіть до папки .git у каталозі проектів та видаліть index.lock вручну і все завершено.


Насправді я виявляю в SourceTree, що зазвичай достатньо зачекати кілька секунд і спробувати ще раз.
мат

2

У випадку, якщо я можу допомогти комусь іншому ... Я намагався з командним рядком rm -f .git/index.lockі не працював (термінал не показував помилок). Я просто перейшов до папки .gitта видалив index.lockфайл.

Примітка: .gitпапка знаходиться у вашому кореневому сховищі та прихована. У mac: Cmd+ Shift+, .щоб побачити приховані файли.


2

Для мене рішення було таким же простим, як закрити мій IDE і потім перевірити його. Моя командна команда прийняла мій піар і об'єднала код через TFS. Видалення файлів .lock не вийшло.


2

Видалити index.lockтут:

<path to your repo>/.git/index.lock

Крім того, якщо у вашому сховищі є підмодулі, також видаліть усе index.lockтут:

<path to your repo>/.git/modules/<path to your submodule>/index.lock

1

Я спробував видалити, .git/indexале нічого не вийшло, я закінчую видалення go і видаляю всі папки, у яких є goім’я, а потім встановлюю перехід знову, і він працює!


1

Для мене з будь-якої причини:

rm .git/index.lock

Не вийшло, тому я просто зайшов у файл .git і видалив його вручну, який працював фантастично.


яка різниця між цією відповіддю та прийнятою відповіддю?
Дж. Дой

0

просто для уточнення, для тих, хто цікавиться, чому rm і del.

rm .git/index.lock - on a unix/linux system
del .git/index.lock - on a windows cmd prompt

ви можете додати, -fщоб примусити операцію, яка працює.


0

Я зіткнувся з тією ж проблемою. Мені довелося зробити трохи більше, щоб вирішити це. Спочатку я видалив, index.lockпотім клонував свіжий код із наявного сховища git. Я змінив код у відокремленому місці. Я скопіював .gitпапку та .gitignoreфайл і вставив у папку коду, де я вніс зміни коду. Потім я спробував покластися і натиснути, це справно працювало. Можливо, це імпортування буде корисним, якщо ваша проблема не буде вирішена вищезазначеними рішеннями.


0

Була така ж проблема із використанням SourceTree . Але файлу index.lock у мого хоста взагалі не було. Я знайшов файл упакований-refs.lock , і після його видалення проблема була вирішена.


0

Я зіткнувся з тією ж проблемою, проблема була в тому, що я намагався наштовхнути свій код на xmlфайл (використовується як набір даних), який має розмір 1,3 Гбіт, тому я додаю ці файли, .gitignoreа потім вирішується проблема


0

Якщо ви закінчите тут, виходячи з заголовка запитання ("Інший процес git, здається, працює в цьому сховищі"), зауважте, що прийнята відповідь не буде безпосередньо застосована до вас, якщо повідомлення в заголовку цього питання передує іншому повідомленню, наприклад нижче:

fatal: cannot lock ref 'HEAD': Unable to create '/<PATH>/<TO>/<REPO>/.git/refs/heads/<BRANCH>.lock': File exists.

У цьому випадку слід видалити цей файл (.lock) замість .git / index.lock

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.