গিট ইনডেক্স.লক ফাইল বিদ্যমান যখন আমি প্রতিশ্রুতি দেওয়ার চেষ্টা করি তবে ফাইলটি মোছা যায় না


196

আমি যখন 'গিট কমিট' করি তখন আমি নিম্নলিখিতগুলি পাই:

fatal: Unable to create 'project_path/.git/index.lock': File exists.

যাইহোক, যখন আমি ls project_path/.git/index.lockএটি করি তখন বলছি ফাইলটির অস্তিত্ব নেই। আমার কি করা উচিত? আমি আরও লক্ষ্য করেছি যে প্রজেক্ট_পথ / .git মূলের মালিকানাধীন, নিশ্চিত যে সমস্যাটির সাথে আমি যে সমস্যার মুখোমুখি হচ্ছি তার কিছু আছে কিনা তা নিশ্চিত নয়।

গিট সংস্করণটি 1.7.5.4

সম্পাদনা: দেখে মনে হচ্ছে সমস্যাটি সম্ভবত আমার আর একটি প্রক্রিয়া ছিল যা প্রকল্প ডিরেক্টরিতে লেখা ছিল (আমার অজানা)। আমি আমার মেশিনটি পুনরায় চালু করেছি এবং তারপরে আমার প্রতিশ্রুতিবদ্ধ কোন সমস্যা হয়নি।


3
এটি কোনও অনুমতি সংক্রান্ত সমস্যা হতে পারে যেখানে গিট অনুমান করে যেহেতু এটি ফাইল তৈরি করতে পারে না এটি ইতিমধ্যে বিদ্যমান। আপনি কি ডিরেক্টরিটির মালিকানা নেওয়ার চেষ্টা করেছেন বা sudo ব্যবহার করে আপনার আদেশটি কার্যকর করেছেন?

1
আমি মনে করি গিট রেপো অ্যাক্সেস করার জন্য অন্য অ্যাপ্লিকেশনটিতে আপনার ব্যাখ্যা সঠিক। রিবেসের সময় একই সমস্যা ছিল। গিটক্স চলছিল। আমি একবার এটি ছেড়ে দিলে গিট ঠিকঠাক কাজ করেছে।
দ্য হু

2
@ আসি: আপনি হয়ত উত্তর গ্রহণ করতে চান? এটি ভবিষ্যতের পাঠকদের সহায়তা করবে।
মেরোস


3
@ আসি: আপনি নিজের সম্পাদনার বিষয়বস্তু (যা সমাধান ছিল) উত্তর হিসাবে পোস্ট করতে পারেন এবং তারপরে এটি গ্রহণ করতে পারেন। (যদিও 'মেশিনটি পুনরায় চালু করা' এর চেয়ে আরও সাধারণ সমাধান হ'ল ডিরেক্টরিটি অ্যাক্সেস করা হচ্ছে; পুনরায় আরম্ভ করার ফলে কোনটি এবং কী তা বের করার চেষ্টা করার জন্য গর্ডিয়ান গিঁটের মাধ্যমে কেবল কাটা পড়ে:)) আমার ক্ষেত্রে এটি আমার আইডিই ছিল) যাইহোক, লোকেরা যখন তাদের নিজস্ব সমাধানগুলি সন্ধান করে তখন প্রায়শই তাদের নিজের প্রশ্নের উত্তর দেয়।
উইলসন এফ

উত্তর:


326

এটি একটি পুরানো জবাব হতে পারে তবে আমি আশা করি যে এই সমাধানটি পরবর্তীাদের জন্য এটি আরও কার্যকর।

লিনাক্স / ইউনিক্স / গিটবাশ / সাইগউইনে চেষ্টা করুন

rm -f .git/index.lock

উইন্ডোজ কমান্ড প্রম্পটে, চেষ্টা করুন:

del .git\index.lock


1
আমি দেখতে পাই যে কখনও কখনও লক ফাইলটি স্বয়ংক্রিয়ভাবে মোছা হয়ে যায়। এই ফাইলটি কখনও কখনও ম্যানুয়ালি মুছে ফেলা দরকার কেন এমন কোনও ক্লু?
Nrj

আমার একটা ইনডেক্স নেই। লক, কি করব? :(
অ্যালেক্স সি

56
এই প্রশ্নে সমস্যাটি হ'ল তিনি ফাইলটি মুছতে সক্ষম নন, আপনি কেন ভাবেন যে ফাইলটি মোছার চেষ্টা করা সমাধান হওয়া উচিত?
আকাশ ছোঁয়া

4
আমার বন্ধ করে এবং খোলার জন্য সোর্স ট্রি বিষয়টি সমাধান করেছে ... অস্থায়ীভাবে আমি মনে করি।
অ্যান্ড্রু

1
@ আসল প্রশ্নটিতে স্কাইকিং করার ফলে একটি ত্রুটি রয়েছে যা বলে যে fatal: Unable to create 'project_path/.git/index.lock': File exists.এটি "ফাইল বিদ্যমান" আছে এবং এটি মুছে ফেলা সহজ সমাধান হতে পারে। আমি যদি কোনও ফাইল মূল প্রশ্নে নাও থাকে তবে কেন মুছে ফেলার পরামর্শ দেব?
রায়ান এস

40

উইন্ডোজ জন্য:

  • অ্যাডমিন হিসাবে খোলার পাওয়ারশেল কনসোল থেকে চেষ্টা করুন
> rm -Force ./.git/index.lock
  • যদি এটি কাজ না করে, আপনাকে অবশ্যই সমস্ত git.exe প্রক্রিয়াগুলি মেরে ফেলতে হবে
> taskkill /F /IM git.exe
SUCCESS: The process "git.exe" with PID 20448 has been terminated.
SUCCESS: The process "git.exe" with PID 11312 has been terminated.
SUCCESS: The process "git.exe" with PID 23868 has been terminated.
SUCCESS: The process "git.exe" with PID 27496 has been terminated.
SUCCESS: The process "git.exe" with PID 33480 has been terminated.
SUCCESS: The process "git.exe" with PID 28036 has been terminated.
> rm -Force ./.git/index.lock

1
প্যারামিটারটি প্রক্রিয়া করা যায় না কারণ প্যারামিটারের নাম 'f' অস্পষ্ট।
পিট

ধন্যবাদ, @ মাইকপ্যালাইমস, আমি -ফর্সায় আপডেট হয়েছি। দেখে মনে হচ্ছে তারা
এআইপি

20

উইন্ডোজ প্ল্যাটফর্মে সোর্সট্রি (v1.6.14.0) এর সাথে মিলিয়ে ভিজুয়াল স্টুডিও 2015 আরসি (v4.6.00057) চলমান এই ত্রুটিটিও দেবে।

সমাধান: ধরে নিই যে আপনি উত্স ট্রিটিকে সোর্স কোড ম্যানেজার হিসাবে ব্যবহার করতে চান, ভিজ্যুয়াল স্টুডিওর অভ্যন্তরে উত্স নিয়ন্ত্রণ সরবরাহকারীটিকে কেবল এটি অক্ষম করুন:

  1. এতে যান: সরঞ্জামসমূহ> বিকল্পসমূহ> উত্স নিয়ন্ত্রণ
  2. বর্তমান উত্স নিয়ন্ত্রণ প্লাগ-ইন নির্বাচন করুন: কোনওটি নয়

যদিও আমার ভিএস those এই সংগ্রহস্থলগুলিতে অ্যাক্সেস করার কথা নয়, সোর্সট্রি দিয়ে রিবেস করার সময় এই সমস্যাটি ছিল যাইহোক।
কাজেটন আবট

আপনাকে ধন্যবাদ, আপডেট 3 নিয়ে এখনও সমস্যা রয়েছে
এলগার মেনসোনাইডস

ভিজ্যুয়াল স্টুডিওটিও কাজ করে (সূচি.লক ফাইলটি মুছে ফেলা হয়েছে)
মিস্টারবি

10
  1. গিটটি এখনও চলছে কিনা তা পরীক্ষা করুন (PS -ef | গ্রেপ গিট)
  2. যদি তা না হয় তবে লক করা ফাইলটি সরিয়ে ফেলুন
  3. যদি হ্যাঁ, প্রথমে গিট প্রক্রিয়াটি মেরে ফেলুন।

9

চেষ্টা

rm -f ./.git/index.lock

আপনার যদি অন্য কোনও গিট প্রক্রিয়া চলমান না থাকে তবে কেবলমাত্র সংশ্লিষ্ট প্রকল্পের সূচি.লক ফাইলটি মুছুন।


আমার ম্যাকের পরিবেশে কাজ করেছেন।
অ্যাডাম হুরউইটজ

6

এই সমস্যাটি সবেমাত্র ... গিটবক্সের দোষ ছিল। সুতরাং সম্ভবত আপনার একটি জিইউআই চলছে যা সমস্যা তৈরি করছিল।


এটি একটি জিইউআই ছিল না তবে আমার একটি পৃথক প্রক্রিয়া ছিল যা প্রকল্প ডিরেক্টরিতে লেখা ছিল। আমি এটি বুঝতে পারি না এবং এটি আমাকে বাদাম চালাচ্ছিল।
asahi

দেখে মনে হচ্ছে গিটএক্সও এই সমস্যার কারণ হতে পারে।
গ্লুটেক্সো

6 বছর পরে, এটি আমার জন্য পরমাণু ছিল
দুধ

6

আপনি যখন মাঝামাঝি থেকে উত্স থেকে টানা বাতিল করবেন তখন এটি ঘটছে।

সুতরাং আপনি যা করতে পারেন তা হ'ল ম্যানুয়ালি আপনার .git ডিরেক্টরি থেকে সূচি.লক ফাইলটি মুছুন।

rm -f ./.git/index.lock

আপনার প্রকল্প ডিরেক্টরিতে সিডি করুন এবং এই আদেশটি চালান run


8
এই প্রশ্নে সমস্যাটি হ'ল তিনি ফাইলটি মুছতে সক্ষম নন, আপনি কেন ভাবেন যে ফাইলটি মোছার চেষ্টা করা সমাধান হওয়া উচিত?
আকাশে ছোঁয়া

+1 @ স্কাইকিং। একটি ফাইল মোছা সুস্পষ্ট, সমস্যাটি মুছে ফেলার জন্য কোনও ফাইল নেই এবং সমস্যাটি অব্যাহত রয়েছে।
ক্যাটসুনামি

6
  1. এই .git / index.lock ফাইলটি সম্ভাব্যভাবে প্রভাবিত করে এমন প্রতিটি উইন্ডো বন্ধ করুন
  2. .Git / index.lock ফাইলটি মুছুন।
  3. আপনার কমান্ড লাইন সম্পাদকটি খুলুন এবং আপনার গিট ফাইলগুলির অবস্থানের সিডি করুন।

(যদি ফাইলটি সিডি থেকে location জায়গায় তৈরি করা হয় তবে সমস্যাটি আপনার সম্পাদক। আপনার সম্পাদককে বন্ধ করুন this এই সম্পাদনাটি এই কাজের জন্য আবার ব্যবহার করবেন না a উইন্ডোজ পাওয়ার শেল বা কেবলমাত্র সেন্টিমিডি করুন Now আপনি চালিয়ে যেতে গিট কমান্ড ব্যবহার করতে পারেন)


5

সম্ভবত (এটি আমার কাছে হয়েছে), ls কমান্ড বলছে এটির উপস্থিতি নেই কারণ বর্তমান ব্যবহারকারীর সেই ডিরেক্টরি বা ফাইলটিতে পৌঁছানোর অনুমতি নেই।

লকটি সরান এবং নিশ্চিত হন যে আপনি অনুমতি ব্যবহারকারীর সমস্যা এড়াতে সঠিক ব্যবহারকারীর সাথে গিট ব্যবহার করছেন।

আপনি যদি জিএনইউ / লিনাক্স বাক্সে sudo কমান্ড সহ থাকেন:

sudo আরএম প্রকল্প_পথ / .git / সূচক.লক


উইন্ডোজে, আপনি ডান ক্লিক-> বৈশিষ্ট্য-> বৈশিষ্ট্য সহ কেবল ফোল্ডারটি কেবল পঠনযোগ্য কিনা তা পরীক্ষা করে দেখতে পারেন।
ম্যাট

এই প্রশ্নে সমস্যাটি হ'ল যে ফাইলটি বিদ্যমান ছিল না, আপনি কেন ফাইলটি মুছতে চেষ্টা করার সমাধান হওয়া উচিত বলে মনে করেন?
আকাশ ছোঁয়া

@ সাইকিং অনুমতি সংক্রান্ত সমস্যাগুলি একই ত্রুটি দেখায় show প্রকৃতপক্ষে, আমি এই প্রশ্নে এসেছি কারণ শিরোনাম। আমি আমার উত্তরটি একটি সম্ভাব্য সমাধান হিসাবে লিখেছি এবং কিছু ভোট এটি নিশ্চিত করে যে এটি অন্যান্য লোকের সাথেও ঘটে;)
ক্যালিগারি

পছন্দ করুন অনুমতি সমস্যা আরও একটি উত্তর দেয় ls project_path/.git/index.lock
আকাশ ছোঁয়া

5

del .git\index.lock আমার জন্য কাজ।

মাস্টার শাখা থেকে একটি নতুন শাখা চেকআউট করার সময় আমি এই সমস্যার মুখোমুখি হয়েছি।

index.lockফাইল মোছার পরে চেকআউট সহজেই ঘটেছিল ।


4

কখনও কখনও গিট আপনার রেপো সম্পর্কিত একটি লক ফাইল তৈরি করে যখন আপনি কোনও পরিবর্তন করছেন বা সম্ভবত আপনি যখন সাব মডিউলগুলি ব্যবহার করছেন। ত্রুটি বার্তা আপনাকে লক ফাইলের পথ প্রদর্শন করবে। স্থির করুন: কেবল ম্যানুয়ালি টার্মিনালের পথে যান এবং লক ফাইলটি m rm সূচি দ্বারা মুছে দিন lock লক

এটি সাহায্য করা উচিত।


4

শাখাটি ডাবল-ক্লিক করে স্যুইচ করার সময় সোর্সট্রিতে আমার এই সমস্যা ছিল। সমস্যা খুব সাধারণ নয় এবং এটি সম্পর্কে আটলাসিয়ান জানেন তবে তারা ঠিক করেছেন যে তারা এটি ঠিক করবেন না।

সৌভাগ্যবসত, একটি সমাধান পাওয়া যাবে। আপনি যে শাখায় স্যুইচ করতে চান তাতে ডাবল ক্লিকের পরিবর্তে ডান ক্লিক করুন এবং "চেকআউট [শাখার নাম]" নির্বাচন করুন। এটি এখন সফল হওয়া উচিত।


ধন্যবাদ, ডান ক্লিক করুন> চেকআউট বিকল্প হিসাবে কাজ করে। ত্রুটি বার্তাটি বেশ বিভ্রান্তিকর হয় বিশেষত যখন সূচি.লক উপস্থিত না থাকে।
আর্নেস্ট

4

আমি খুব একই দৃশ্য জুড়ে এসেছি। এমনকি আমি আমার স্থানীয় কোডে কোনও পরিবর্তন করি নি। আমি সবেমাত্র একটি ফাইল সম্পাদনা করেছি এবং এটিকে ফিরিয়ে দিচ্ছি। আমি লুকানো .git ফোল্ডারে কেবল নীচের ফাইলটি মুছে ফেলেছি। এটা কাজ করেছে!

project_path / .git / index.lock


3

যদি না আপনি আসলে আপনার রেপোর মালিকানাধীন রুটের উদ্দেশ্যে থাকেন, তবে আপনার মনে হচ্ছে আপনি দুর্ঘটনাক্রমে একটি গিট কমান্ডটি রুট হিসাবে চালিয়েছেন (সম্ভবত প্রাথমিক ক্লোন / ইনস এমনকি)। যদি আপনি এটি বোঝাতে চেয়েছিলেন, তবে আপনাকে রেপোর মধ্যে সমস্ত গিট কমান্ড চালিয়ে বাঁচতে হবে live আপনি যদি তা না করেন তবে এর sudo chown your-user[:your-group] -R .gitমালিকানা নিতে দৌড়াুন এবং তারপরে দেখুন জিনিসগুলি কাজ করে কিনা।


আমার ক্ষেত্রে আমি ফাইল এবং ডিরেক্টরিগুলির অভ্যন্তরের অভ্যন্তরে .gitগণ্ডগোল করেছি এবং আমি সেগুলি সংশোধন করেছি: find .git -type f -exec chmod 644 {} \;এবং find .git -type d -exec chmod 755 {} \;আমার গিট প্রকল্পটি যখন একটি কম্পিউটার থেকে অন্য কম্পিউটারে নিয়ে
যাচ্ছিলাম

আমার ক্ষেত্রে আমি .git ফাইলগুলিতে লেখার অনুমতি যুক্ত করেছিsudo chmod g+w .git -R
ফনসেকা

2

একই স্থানীয় সংগ্রহস্থলে কাজ করা একাধিক গিট ক্লায়েন্টরা সেই লকের জন্য প্রতিযোগিতা করে। একজন ভাল নাগরিক হওয়ার জন্য অন্য পক্ষের দ্বারা লকটি প্রকাশ না হওয়া পর্যন্ত প্রতিটি ক্লায়েন্টের অপেক্ষা করা উচিত। আমাদের জন্য, সোর্স ট্রি বা এমএসভিএস মনে হয় আমরা বড় কমিট স্ক্রিপ্ট চলাকালীন পটভূমিতে কিছু রক্ষণাবেক্ষণ করছে।

পুনরায় চেষ্টা করতে সম্ভবত 'গিট' নিজেই একটি '--retriesWhenLock 5' যুক্তি সমর্থন করে argument অথবা ম্যানুয়ালি চালানোর সময় এটিতে ডিফল্টও।

এখানে "গিটর" নামের গিটের চারপাশে একটি পাওয়ারশেল র‌্যাপার রয়েছে যা সূচক না হওয়া পর্যন্ত পুনরায় চেষ্টা করে lock এটি কখনই সূচকটি সরিয়ে দেয় না। ব্যবহারকারীকে হস্তক্ষেপ করা উচিত বলে ধরে নিয়ে। এটি একটি বৃহত্তর কমিট স্ক্রিপ্ট থেকে বের করা হয়েছিল। এটিতে কেবল সহজ যুক্তি দিয়ে ন্যূনতম পরীক্ষা করা হয়।

  • সি: \ বিনে স্ক্রিপ্ট অনুলিপি করুন এবং সি: \ বিনকে $ পাথের সাথে যুক্ত করুন।
  • পিএস 1> গিটার - সহায়তা থেকে
  • ডস%> পাওয়ারশেল গিটর - সহায়তা থেকে

gitr.ps1

    #requires -version 2
    <#
    .SYNOPSIS
        gitr
    .DESCRIPTION
        Run "git" as an external process with retry and capturing stdout stderr.
    .NOTES  
      2017/05/16 crokusek: Initial version
    #>

    #---------------------------------------------------------[Initializations]--------------------------------------------------------

    #Set Error Action 
    $ErrorActionPreference = "Stop";

    #----------------------------------------------------------[Declarations]----------------------------------------------------------

    $scriptDir = Split-Path $script:MyInvocation.MyCommand.Path
    #Set-Location $scriptDir

    ## Disabled logging
    # Log File 
    # $logFile = "$($scriptDir)\getr.log"
    # If (Test-Path $logFile) { Clear-Content $logFile }

    #-----------------------------------------------------------[Functions]------------------------------------------------------------

    Function Log([string]$msg, [bool]$echo = $true)
    {
        $timestamp = "$(get-date -Format 'yyyy/MM/dd HH:mm:ss'):  " 
        $fullmsg = $msg -replace '(?ms)^', $timestamp  # the (?ms) enables multiline mode

        ## Disabled Logging 
        # Add-content $LogFile -value $fullmsg

        if ($echo)
        {
            Write-Host $msg
        }
    }

    Function ExecSimple([string]$command, [bool]$echo=$true, [bool]$stopOnNonZeroExitCode=$true)
    {
        $command, $args = $command -split " "
        return Exec $command $args $echo $stopOnNonZeroExitCode
    }

    Function Exec([string]$exe, [string[]]$arguments, [bool]$echo=$true, [bool]$stopOnNonZeroExitCode=$true)
    {   
        # Passing $args (list) as a single parameter is the most flexible, it supports spaces and double quotes

        $orgErrorActionPreference = $ErrorActionPreference 
        Try
        {           
            $error.clear()  # this apparently catches all the stderr pipe lines

            if ($false -and $exe -eq 'git')  # todo make this a generic flag
            {
                $exe = "$($exe) 2>&1"
            }

            $output = ""

            $argflattened = $arguments -join ' '
            Log "`n% $($exe) $($arguments)`n"

            # This way some advantages over Invoke-Expressions or Start-Process for some cases:
            #      - merges stdout/stderr line by line properly, 
            #      - echoes the output live as it is streamed to the current window,
            #      - waits for completion
            #      - works when calling both console and windows executables.
            #       
            $ErrorActionPreference = "Continue"  # required in order to catch more than 1 stderr line in the exception

            if ($echo)
            {
                # Using "cmd.exe" allows the stderr -> stdout redirection to work properly.  Otherwise the 2>&1 runs after PS for 
                # some reason.  When a command such as "git" writes to stderr, powershell was terminating on the first stderr 
                # line (and stops capturing additional lines).
                #
                # but unfortuantely cmd has some bizarre de-quoting rules that weren't working for all cases. 
                #& cmd /c "`"" $exe $arguments "`"" | Tee-Object -variable output | Write-Host | out-null           

                # This is simplest but has some issues with stderr/stdout (stderr caught as exception below)
                #
                & $exe $arguments 2>&1 | tee -variable output | Write-Host | out-null 
            }
            else
            {           
                & $exe $arguments 2>&1 | tee -variable output | out-null 
            }

            $output = $output -join "`r`n"                  

            if ($stopOnNonZeroExitCode -and !$LASTEXITCODE -eq 0)
            {           
                throw [System.Exception] "Exit code ($($LASTEXITCODE)) was non-zero. Output:`n$($output)"
            }       
        }
        catch [System.Management.Automation.RemoteException]
        {
            $output = $_.Exception.ToString().Replace("System.Management.Automation.RemoteException:", "").Trim()

            if ($output.Contains("fatal")) 
            {
                throw 
            }

            if ($echo)
            {
                Log $output
            }
        }
        finally
        {
            $ErrorActionPreference = $orgErrorActionPreference;
        }

        if (-not $output -eq "")
        {
            Log $output $false  # don't echo to screen as the pipe above did    
        }

        return $output
    }

    Function ExecWithRetry([string]$exe, [string[]]$arguments, [bool]$echo=$true, [bool]$stopOnNonZeroExitCode=$true, 
                          [int]$maxRetries = 5, [int]$msDelay = 3000, [AllowNull()][string]$exceptionMustContain = $null)
    {
        for ($i = 0; $i -lt $maxRetries; $i++)
        {
            try
            {
                Exec $exe $arguments $echo $stopOnNonZeroExitCode
                return
            }
            catch
            {
                if (-not [string]::IsNullOrEmpty($exceptionMustContain) -and $_.Exception.ToString().Contains($exceptionMustContain))
                {
                    Log "Last Error from $($exe) is retryable ($($i + 1) of $($maxRetries))" $true
                    Start-Sleep -Milliseconds ($msDelay);
                    continue
                }

                throw
            }
        }

        throw [System.Exception] "Unable to successfully exec '$($exe)' within $($maxRetries) attempts."
    }

    Function GitWithRetry([string[]]$arguments, [bool]$echo=$true)
    {
        ExecWithRetry "git" $arguments $echo -exceptionMustContain "Another git process seems to be running"
    }

#-----------------------------------------------------------[Main]------------------------------------------------------------

function Main([string[]]$arguments)
{   
    GitWithRetry @($arguments)
}


#-------------------------------------- Startup ------------------------------------
try 
{
    Main $args
    Exit 0
}    
catch
{
    #Log "*** A fatal error occured: $($_.Exception)"
    #Read-Host -Prompt "`nA fatal error occurred, press enter to close."    
    exit 1
}

2

উইন্ডোজ 10 এও আমার এই প্রশ্ন রয়েছে।

আমি যখন দেল চেষ্টা করি তখন ./.git/index.lockতা আমাকে বলেছিলcannot remove 'index.lock': Device or resource busy

অবশেষে আমি কারণটি পেয়েছি:

কম্পিউটারে গিট ব্যবহারের জন্য দুটি প্রক্রিয়া রয়েছে:

  • গিট বাশ
  • cmder

সুতরাং আমি এটি ব্যবহার করে cmder.exe এর git commitত্রুটি ঘটবে।

সুতরাং সমাধানটি ব্যবহার হয় git bashবা git bashতারপরে সেমিডার.এক্স.ই.


1

আমার ঠিক একই ত্রুটি ছিল, তবে সমস্যাটি লক ফাইল নয়। পরিবর্তে সমস্যাটি হ'ল আমি .git অদৃশ্য ফোল্ডার সহ অন্য গিট রেপোর সামগ্রীগুলি এই রেপোতে অনুলিপি করেছি। সুতরাং, সোর্সট্রি বিভ্রান্ত হয়ে পড়েছিল যে আমি কোন রেপোতে ফাইলগুলি স্টেজ করতে চেয়েছিলাম (রেপো সোর্সট্রি ভেবেছিল যে আমি ছিলাম এবং আমার এম্বেড থাকা গিট দির যে বিষয়বস্তু ছিল আমার ভিতরে থাকা উচিত) one


1

উইন্ডোজে সাইগউইনের সাথে টর্টোসজিট নিয়ে আমার এই সমস্যা ছিল। আমি প্রশাসনিক সুবিধাগুলি দিয়েও ./.git/index.lock মুছে ফেলতে সক্ষম হয়েছি না, আমি সাইগউইন এবং কমান্ড প্রম্পট উভয়ই চেষ্টা করেছিলাম, এতে বলা হয়েছে যে ফাইলটি অন্য প্রক্রিয়াতে ব্যবহৃত হয়েছিল।

আমি দেখতে পেয়েছি যে আমার কাছে টরটোইসপ্রোক.এক্স.সি চলার 2 টি উদাহরণ রয়েছে। আমি তাদের মধ্যে একটি হত্যা করেছি এবং আমার উইন্ডো এক্সপ্লোরারের সমস্ত উইন্ডো বন্ধ করে দিয়েছি এবং তারপরে ফাইলটি মুছতে সক্ষম হয়েছি। আমি জানি না টার্টোইসপ্রোক.এক্সির একটি উদাহরণ হত্যার সমাধান বা উইন্ডোজ এক্সপ্লোরার উইন্ডোজ বন্ধ ছিল কিনা।


1

আমার জন্য সমাধানটি ছিল .index ফাইলটি মুছে ফেলা এবং গিটকে অন্য একটি পুনর্নির্মাণের অনুমতি দেওয়া।


1

মুছে ফেলার জন্য আমার কাছে একটি ইনেক্স.লক ফাইল নেই, তবে আমার জন্য যা কাজ করেছে তা প্রোপার্টি ডায়ালগ ফোল্ডারের অ্যাট্রিবিউট উইন্ডো থেকে কেবল পঠনযোগ্য চেকটি সরিয়ে ফেলছিল।



1

2.8.4 গিট শুরু হচ্ছে (জুন 2016) , এটি আর হবে না happen

755 ইস্যু দেখুন যা সমস্যাটিও লাঘব করবে ( 2db0641 কমিট করুন ):

অস্থায়ী ফাইল হ্যান্ডলগুলি শিশু প্রক্রিয়াগুলির দ্বারা উত্তরাধিকার সূত্রে প্রাপ্ত নয় তা নিশ্চিত করুন

হ্যান্ডেল থেকে উত্তরাধিকার সূত্রে শিশু প্রক্রিয়াগুলি প্রতিরোধ করুন index.lock


1

আমার সোর্সট্রি অ্যাপ্লিকেশনটিতে আমি প্রতিশ্রুতিবদ্ধ বা অন্য কোনও প্রতিশ্রুতি / ব্রাচ স্যুইচ করতে সক্ষম নই। সেই সময়টির মতো ত্রুটি দেখায়

মারাত্মক: ব্লা ব্লা ব্লাহ তৈরি করতে অক্ষম ..

আমি কেবল এটিকে গোটো .গিট ফোল্ডার (প্রকল্প এক্সপ্লোরার ডিয়ারে) এর মাধ্যমে সমাধান করি। এবং সূচিটি মুছে ফেলুন ----- [ফাইলের ধরণ: লক ফাইল] N

দয়া করে নিশ্চিত করুন সূচী লক ফাইলটি .. মনে করুন আপনি ফাইলের ধরণ না পেয়ে কম্পিউটারে ফাইলভিউ সেটিংস পরিবর্তন করেন। দ্রষ্টব্য: .git ফোল্ডারটি সাধারণত লুকানো ধরণের ফোল্ডার।


1

আমার জন্য এটি কী ছিল:

git rebase --abort এবং পুনরায় চালু করুন।

অ্যান্ড্রু যেমন উল্লেখ করেছে যে আমি যখন পিএইচপিএসটারম ব্যবহার করছিলাম তখন এটি ঘটল। যদিও এটি বন্ধ করতে হবে না।


1

প্রথমে আপনাকে আপনার প্রকল্পের নির্দিষ্ট ফোল্ডারে নেভিগেট করতে হবে .. আপনার প্রকল্পের নাম যদি ফার্স্টপ্রজেক্ট হয় তবে প্রথমে প্রকল্পের ডিরেক্টরিতে যান .. তারপরে সিডি .git টাইপ করুন গিট ফোল্ডারে নেভিগেট করার পরে ডেল ইনডেক্স.লক পরে ফাইল মোছা.ডলক..আপনার মত প্রতিশ্রুতিবদ্ধ এবং চাপ দিতে সক্ষম হবেন


1

আমার ক্ষেত্রে এটি উইন্ডো ছিল, পুরোপুরি বন্ধ ছিল না।

উইন্ডোজ হাইবারনেটেড, মাউন্ট করতে অস্বীকার করেছে

সম্ভাবনা হ'ল উইন্ডোজ সত্যই হাইবারনেটেড। আপনি যখন সাধারনত শাটডাউন করতে বলবেন উইন্ডোজ এটি স্বয়ংক্রিয়ভাবে করে। সুবিধাটি হ'ল আপনি একটি দ্রুত আপাত প্রারম্ভিক সময় পান।

হাইবারনেট না করে উইন্ডোজ বন্ধ করতে, কমান্ড-প্রম্পটে (উইন্ডোতে) নিম্নলিখিতটি প্রদান করুন:

shutdown /s

আপনি /t 0অবিলম্বে শাটডাউন অন্তর্ভুক্ত করতে চাইতে পারেন ।

আমি এটির জন্য একটি লঞ্চার সেটআপ করার জন্য একটি দুর্দান্ত টিউটোরিয়াল পেয়েছি: হাইব্রিড বুট অক্ষম না করে উইন্ডোজ 8-এ কীভাবে সম্পূর্ণ শাটডাউন করবেন।

উইন্ডোজকে প্রকৃতপক্ষে বন্ধ করার সহজ পদ্ধতিকে হ'ল 'রিস্টার্ট' ('শাটডাউন' না দিয়ে), তবে তারপরে বুট প্রক্রিয়াটি এবং উইন্ডোজটিকে বুট না দেওয়ার পরিবর্তে লিনাক্স বুট করতে হবে।

ক্রেডিট : নোবার


1

আপনি যদি হাবের মতো বিকল্প কমান্ড লাইন গিট ক্লায়েন্ট ব্যবহার করেন তবে এটিও ঘটতে পারে

আমি দু'বছর ধরে গিটের অ্যালিজেড প্রতিস্থাপন হিসাবে হাবটি ব্যবহার করছি, তবে সম্প্রতি একটি ব্যাশ স্ক্রিপ্ট লিখেছিল যা এতে একগুচ্ছ গিট কাজ করে এবং এই সূচক লক ইস্যুটি পেতে শুরু করেছে।

আমি গিটের পরিবর্তে হাব চালাচ্ছিলাম মনে না হওয়া পর্যন্ত আমি ঠিক করতে পারি না। আমি তা সরিয়ে দিয়েছি আর সমস্যাটা চলে গেল!


0

ত্রুটি পাওয়া:

Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
fatal: Unable to create '/home/user/project/.git/index.lock': File exists.

If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the file manually to continue.

তবে আমি .git / index.lock ফাইলটি খুঁজে পাইনি (না মুছতেও)।

আমার ক্ষেত্রে, গিট-কোলা চলছিল!

এটি স্পষ্টতই .git / index.Lock তৈরি করে প্রতি একবারে, বা পুনর্বাসনের কারণে কমান্ড লাইনে করছিলাম এবং সেই সময় আমি যে ত্রুটিটি পেয়েছি - তাই গিট-কোলা স্পষ্টতই গিটের কমান্ড লাইনটি "বিরক্ত" করে ly (বা কিছু গিট সি এল এল অপারেশন)।

কমান্ড লাইনের গিট রিবেসের সময় গিট-কোলা বন্ধ করে এটি সমাধান করা হয়।


0

একাধিক ইনস্টল থাকা অবস্থায় কখনও কখনও অন্য গিট ক্লায়েন্ট হস্তক্ষেপ করতে পারে।

অর্থাৎ। টাস্ক ম্যানেজার সহ বা নিশ্চিত Get-ProcessযেTGitCache TortoiseGit থেকে ব্যাকগ্রাউন্ডে সক্রিয় নয়।


0

আমি সম্প্রতি একই সমস্যা ছিল। আপনি যদি পুরো ত্রুটি বার্তাটি পরীক্ষা করে দেখেন তবে এটিতে আরও বলা হয় যে কিছু প্রক্রিয়া রয়েছে যা গিট প্রক্রিয়া ব্যবহার করছে যা আপনাকে সূচি.লক মোছা থেকে বাধা দেয়। আপনার ভিজ্যুয়াল স্টুডিও বা সম্পর্কিত সফ্টওয়্যারের মতো আইডিই খোলা থাকতে পারে যা গিটটি একীভূত হয়েছে। এটি বন্ধ করুন এবং আপনার ফাইলটি পুনরায় স্ট্যাশ করার চেষ্টা করুন। আশা করি এটা সাহায্য করবে.

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.