Bu depoda başka bir git işlemi çalışıyor gibi görünüyor


667

Git'in nasıl kullanılacağını öğrenmeye çalışıyorum ve HTML, CSS ve Javascript dosyası ile küçük bir proje oluşturdum. Temel olarak boş projemden bir şube yaptım ve kodumda bazı değişiklikler yaptım. Değişiklikleri hazırlama denedim ama aşağıdaki hata iletisini alıyorum:

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.

Verilmiş, boş projemi daha önce yapmaya çalışırken sorun yaşadım ve git bash'ı bıraktım, çünkü bir şekilde nereden çıkmış olduğumdan nasıl çıkacağımı bilmiyordum.

Bunu düzeltmem için herhangi bir yol var mı yoksa yeni bir depo başlatmalı mıyım?


1
Muhtemelen başka bir terminal sekmesinde rn çalıştıran başka bir işlem var gibi görünüyor?
Vincent Rodomista

Görev yöneticisini açın ve başka nelerin çalıştığını görün. Yüklüyse, İşlem Gezgini'ni de kullanabilirsiniz.
Tim Biegeleisen

Git bash, Line veya GUI komutunu kullanmayı deneyin, ardından kilitli
git'in

Yanıtlar:


1294

Dizininizdeki index.lockdosyayı silmeyi deneyin .git.

rm -f .git/index.lock

Bu tür sorunlar genellikle iki gitkomutu aynı anda yürüttüğünüzde oluşur ; belki bir komut isteminden ve bir IDE'den.


7
Şu hatayı aldım: rm: '.git / index.lock' dosyasını kaldıramıyorum: Aygıt veya kaynak meşgul
Yuvraj Patil

8
ile kaldırrm -f .git/index.lock
William Hampshire

CocoaPods için kaldırmayı deneyin Podfile.lock.
LinusGeffarth

1
Benim için de çalıştı, teşekkürler. Bu cevabın neden henüz kabul edilmiş olarak işaretlenmediğini merak ediyorum. Komut dizisi: 1) bulmak | grep '\ .lock $' 2) rm -f ./.git/index.lock
Ankush

4
Orada index.lockdosya yoksa, aşağıdakileri kontrol edin HEAD.lock· Kaldırma işlemi benim için sorunu çözdü.
Daniel Shatz

64

Uygulamanın kök dizininde aşağıdaki komutu kullanın. Bu, index.lock dosyasını siler ve etkin kilidi serbest bırakır.

rm .git/index.lock

Ayrıca bir git eklentisi vardı çünkü Sublime-Text kapatmak zorunda kaldı.
Git'e

31

Tamamlama mesajımı silmek benim için çalıştı.

rm .git/COMMIT_EDITMSG

Sonra söyledi.

fatal: ref 'HEAD' kilitlenemiyor: '.git / refs / heads / [dalınızın adı] .lock' oluşturulamıyor: Dosya var.

Şube adınızın benimkinden farklı olabileceğini unutmayın. Bu kilit dosyasını yaparak silebilirsiniz;

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

Umarım bu birine yardımcı olur.


3
bu bana yardımcı oldu, diğer cevaplar benim için hiçbir şey yapmadı.
CodyMace

1
Bu, arka planda docker-compose ile çalışmaya çalıştığımda işe yaradı.
John Spiteri

15

Tamam '$ git rm .git / index.lock' çalıştırarak işe başladım ... Garip çünkü birkaç kez boşuna ama hey bilgisayarlar doğru yaptım çünkü?


5
git rmBurada kullanmaya gerek yok , sadece rmyeterli. index.lockgit tarafından izlenecek bir dosya değil.
Matthieu Moy

8

Bu başıma geldi ve sourcetree bana kilit dosyasının var olduğunu söylemeye devam ederken, kaldırmam için böyle bir dosya yoktu. Bu yüzden başka bir şubeye baktım ve sonra orijinal şubeye döndüm ve bu değişikliğin sorunu çözdüğünü fark ettim.


7

Yukarıdaki yöntemlere benzer, ancak benim durumumda bunlardan birkaçına sahiptim

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

ve bu yolla bir kerede hepsini kaldırabildi

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

4

Benim için sorun daha basitti, bu kaynak ağacındaydı, bu yüzden düzenli çözümlere ne kadar uygulanacağından emin değilim ama yanlışlıkla ana dalımın taahhüt edilmemiş değişikliklerim yerine bir taahhütte bulunmaya çalışmasını seçtim.

Bu normalde bir sorun olmazdı ama önceden bulunduğum küçük sprint için ne yaptığımı takip edebilmek için önceden bir taahhüt mesajı girmiştim.

Temel olarak, taahhüt edilmemiş dalda bir taahhütte bulundum ve yanlışlıkla ana dalımda başka bir taahhüt başlatmaya çalışıyordum.


4

CocoaPods kullanıyorsanız ve bir noktada bir güncelleme veya yükleme (manuel olarak öldürdüyseniz veya başka bir şey) başlattıysanız,

1) index.lockDosyayı kaldırma (in .git/index.lock)

2) Podfile.lockDosyanızı kaldırın .

3) Yeni bir şey yapın pod update

4) Başarısız olan git komutunu vermeyi deneyin (benim durumumda a git add .)


4

Eğer varsa pencereleri kullanıcı hatası olacaktır 'rm' is not recognized as an internal or external command. Çünkü rm bir Linux komutudur. Yani pencerelerde, klasörü index.lockiçindeki dosyayı kaldırmak için aşağıda kullanabilirsiniz.git

del -f .git/index.lock

3

Şube bozuk olabilir yeni şube oluşturmak git şube #check şube. Yeni bir şube kurdum ve çalışıyorum.

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

Yukarıda bir alternatif olsa da, bu benimkini çözmedi. Benim durumumda, ./zshrc içinde "git" eklentisini silip bilgisayarı yeniden başlatıyorum, sonra sorun gitti, sanırım zsh eklentisi orijinal git komutuyla çakışan bir şey yapmıştı.


3

Bu hatayı yaparken aldım pod update. Ben silerek onu çözmüş index.lockdosyayı cocoapodsbireyin .gitdizininde.

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

Birine yardımcı olabilir.


2

yüzleşmeniz durumunda aşağıdaki komutu kullanın Bu depoda başka bir git işlemi çalışıyor gibi görünüyor, örneğin 'git commit' tarafından açılan bir editör. Lütfen tüm işlemlerin sonlandığından emin olun ve tekrar deneyin. Yine de başarısız olursa, daha önce bu depoda bir git işlemi çökmüş olabilir: devam etmek için dosyayı el ile kaldırın.

rm -f .git / index.lock

git reset ve reset komutundan sonra git status, git add ve git command -a veya git command -m "mesajınız", git push origin master.


2

rm -f .git/index.locksilinemedi, çünkü kilitli bir dosya vardı. Yani, index.lockbazı uygulamalar tarafından da ele geçirilmişti.

Lock Hunter adlı Unlocker'a bir alternatif indirdim ve her iki dosyayı da sildim. Gitonları yakaladı.


2

SourceTree dosya aşamalı çalıştığımda ben aynı sorunlarla karşı karşıya.

Bu sorunu çözmek için proje dizinindeki .git klasörüne gidin ve index.lock dosyasını manuel olarak silin ve işiniz bitti.


Aslında SourceTree'de genellikle birkaç saniye bekleyip tekrar denemenin yeterli olduğunu görüyorum.
matt

2

Durumda başka birine yardımcı olabilir ... Ben komut satırı ile çalıştı rm -f .git/index.lockve işe yaramadı (terminal herhangi bir hata göstermedi). Doğrudan klasöre gittim .gitve index.lockdosyayı sildim.

Not: .gitklasör kök deponuzda bulunur ve gizlidir. Mac'te: Cmd+ Shift+ .gizli dosyaları görmek için.


2

Benim için çözüm IDE'mi kapatmak ve sonra kontrol etmek kadar basitti. Bir takım arkadaşım Halkla İlişkilerimi kabul etti ve kodu TFS aracılığıyla birleştirdi. .Lock dosyalarını kaldırmak işe yaramadı.


2

index.lockBuradan sil :

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

Ayrıca, deponuzda alt modüller varsa, index.lockburadan da silin :

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

1

Silmeyi denedim .git/indexama işe yaramadı, gitmeyi kaldırıyorum ve içinde goadı olan tüm klasörleri kaldırıyorum ve sonra tekrar gitmeyi yüklüyorum ve işçi!


1

Benim için herhangi bir nedenle:

rm .git/index.lock

İşe yaramadı, bu yüzden sadece .git dosyasına gittim ve fevkalade çalışan manuel olarak sildim.


bu cevap ile kabul edilen cevap arasındaki fark nedir?
J. Doe

0

sadece açıklama için, neden rm ve del merak edenler için.

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

-fçalışan işlemi zorlamak için ekleyebilirsiniz .


0

Aynı sorunla karşılaştım. Bunu çözmek için biraz daha yapmam gerekiyordu. Önce sildim, index.locksonra mevcut git depo yerinden yeni kodu klonladım. Ayrılmış yerde benim kod değişiklikleri vardı. Ben copiped .gitklasör ve .gitignoredosya ve kod değişiklikleri yapmış kod klasöründe yapıştırılan. Sonra taahhüt etmeye ve itmeye çalıştım, sorunsuz çalıştı. Sorununuz yukarıda belirtilen çözümlerle çözülmezse, bu ithalat faydalı olacaktır.


0

SourceTree kullanırken de aynı sorun vardı . Ancak ana makinemde herhangi bir index.lock dosyası yoktu . Packed-refs.lock dosyasını buldum ve sildikten sonra sorun çözüldü.


0

Ben aynı sorunla karşı karşıya, sorun ben xml1.3 gb boyutu olan bir dosya (veri kümesi olarak kullanılır) ile kodumu itmek için çalıştı , bu yüzden içine bu dosyayı eklemek .gitignoreve sonra sorun çözüldü


0

Sorunun başlığına göre buraya gelirseniz ("Bu depoda başka bir git işlemi çalışıyor gibi görünüyor"), bu sorunun başlığındaki iletinin önüne benzer bir mesaj geliyorsa, kabul edilen yanıtın sizin için doğrudan geçerli olmayacağını unutmayın. Aşağıdaki:

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

Bu durumda, .git / index.lock yerine bu dosyayı (.lock) silmeniz gerekir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.