VPN வழியாக SSHFS இல் git status மெதுவாகிறது: வேலையை நகர்த்துங்கள்
பெரிய கோப்பு எளிதாக நகலெடுக்கப்படுகிறது, git status மெதுவாகிறது. மரம் VPN வழியாக SSHFS இல் இருந்தால், செலவு ஒவ்வொரு கோப்புக்கும் போக்குவரத்து, அலைவரிசை அல்ல. வேலையை நகர்த்துங்கள்.
200 MB கோப்பை நகலெடுங்கள், அது பறக்கிறது. அதே கோப்பகத்தில் git status இயக்குங்கள், காத்திருப்பு வேறு எதற்காவது கவனத்தைத் திருப்பும் அளவுக்கு நீளமாக இருக்கும். இந்த இரு அவதானிப்புகளும் முரணானவை அல்ல, ஏனென்றால் மொத்த பரிமாற்றம் செயல்திறனை அளக்கிறது, Git மட்டும் வினாடிக்கு எத்தனை சிறிய கோப்பு முறைமை கேள்விகளைக் கேட்க முடியும் என்பதை அளக்கிறது, மேலும் இணைக்கப்பட்ட தொலை மரம் ஒவ்வொரு கேள்வியையும் ஒரு போக்குவரத்தாக மாற்றுகிறது. VPN ஐ சரிசெய்வது தவறான வடிவத்திலான பணிச்சுமையை சரிசெய்யாது.
status ஏன் தவறான அளவுகோல்
Git பல கோப்புகளைப் பற்றி அறிய வேண்டும்: எது மாறியது, எது கண்காணிக்கப்படவில்லை, மேலும் தேக்ககப்படுத்தப்பட்ட இன்டெக்ஸ் தரவு இன்னும் வட்டில் உள்ளதுடன் பொருந்துகிறதா. SSHFS வழியாக இந்த அவதானிப்புகள் ஒவ்வொன்றும் பிணையச் செயலாக இருக்கலாம். இங்கு வேலையின் அலகு கோப்புகளின் எண்ணிக்கை, மெகாபைட் அல்ல.
அதனால்தான் cloneக்குப் பின் முதல் status மெதுவாக உள்ளது, மேலும் கட்டுமான வெளியீட்டால் நிரம்பிய மரத்தில் அடுத்தவை இன்னும் மெதுவாக இருக்கலாம். கண்காணிக்கப்படாத கோப்புகளின் ஸ்கேனிங் உங்களுக்கு முக்கியமில்லாத கோப்பகங்கள் வழியே செல்கிறது, ஒவ்வொரு படியும் இணைப்பின் வழியாக இன்னொரு கோரிக்கை. 40 ms பாதையில் சில ஆயிரம் உள்ளீடுகள் உள்ள மரம் சில ஆயிரம் போக்குவரத்துகளாக மாறுகிறது. இந்தக் கணக்கை உறுதிப்படுத்த பாக்கெட் பிடிப்பு தேவையில்லை.
பதிவிறக்க அளவுகோல் இணைப்பு நல்லது என்று சொல்கிறது; ஆயிரம் சிறிய வாசிப்புகள் இன்று பிற்பகலில் முடியுமா என்பதைப் பற்றி அது எதுவும் சொல்லவில்லை.
வேலை மரத்தை நகர்த்துங்கள், சரிசெய்யும் குமிழ்களை அல்ல
உள்ளூர் clone வேலை மரத்தையும், இன்டெக்ஸையும், Git செயல்பாடுகளையும் ஒரே இயந்திரத்தில் வைக்கிறது. பின்னர் pull ஒரு தெரியும் பிணையப் படியாகிறது, ஒவ்வொரு கோப்புச் சரிபார்ப்பும் அல்ல.
உருவாக்குநர் தேவையான மூலத்தை உள்ளூரில் வைத்திருக்க முடியும் போதெல்லாம் இது பொருந்தும், பெரும்பாலும் அப்படியே இருக்கும். இது commit மற்றும் செயல்படுத்தலுக்கு இடையிலான எல்லையையும் கூர்மைப்படுத்துகிறது, ஏனென்றால் உள்ளூர் கோப்பைத் திருத்துவது இனி இயங்கும் தொலைச் சேவையை தற்செயலாக மாற்றாது; மாற்றம் மற்ற எல்லாவற்றையும் போல push செய்து செயல்படுத்தப்பட வேண்டும். விலை என்னவென்றால் குறியீடு இரண்டு இடங்களில் உள்ளது, எனவே எந்த நகல் அதிகாரம் கொண்டது, சேவையகத்தில் செய்யும் அவசர சரிசெய்தல் எப்படி களஞ்சியத்திற்குத் திரும்புகிறது என்பதை முடிவு செய்யுங்கள். அந்த உரையாடல் யாரும் இயக்க விரும்பாத status கட்டளைக்கு விட மலிவானது.
பணியிடம் தொலைவில் இருக்க வேண்டுமானால், அங்கேயே Git இயக்குங்கள்
சில நேரங்களில் பணியிடத்தை நகர்த்த முடியாது: கட்டுமானத்திற்கு அந்தச் சூழல் தேவை, தரவு மிகப் பெரியது, அல்லது கொள்கை மூலத்தை புரவலனில் வைத்திருக்கிறது. அப்போது கோப்புகளுக்கு அருகிலேயே Git மற்றும் தொடர்புடைய உருவாக்கக் கருவிகளை இயக்குங்கள், அனுமதிக்கப்பட்ட தொலை ஷெல் அல்லது தொலை-உருவாக்கச் சூழல் வழியாக. திருத்தி மடிக்கணினியில் இருக்கலாம், அதன் பின்னணி வேலை மரத்திற்கு அருகில் வேலை செய்யும்போது.
அப்போது விலை உயர்ந்த செயல்பாடுகள் தொலை புரவலனில் உள்ளூராக நடக்கின்றன, பிணையம் ஆயிரக்கணக்கான stat அழைப்புகளுக்குப் பதிலாக திருத்தியின் போக்குவரத்தைச் சுமக்கிறது. இது உள்ளூர் clone போன்ற அதே திருத்தம், இடம்பெயர்வு அல்ல, செயல்படுத்தல் தேர்வாகக் கூறப்பட்டுள்ளது.
ஒத்திசைவு உரிமையாளர்கள் கொண்ட பணிப்பாய்வு, தேக்ககம் அல்ல
ஒத்திசைக்கப்பட்ட பணியிடம் திரும்பத் திரும்ப வரும் தொலை வாசிப்புகளைக் குறைக்கலாம், ஆனால் அது வெளிப்படையான தேக்ககம் அல்ல. ஒவ்வொரு மாற்றத்திற்கும் ஒரு உரிமையாளர், முரண்பாடுகளுக்கு ஒரு விதி, இரு தரப்பும் தமக்குரியது என நினைக்கும் உருவாக்கப்பட்ட கோப்புகள் குறித்த ஒப்பந்தம் தேவை. அந்த விதிகள் இல்லாமல் ஏற்பாடு வசதிக்குப் பதிலாக கருத்து வேறுபாட்டை உருவாக்குகிறது.
அவை இல்லாத இரு-திசை ஒத்திசைவு தீர்த்த பிரச்சினையிலிருந்து வேறுபட்ட ஒன்றை உருவாக்குகிறது, பொதுவாக யாரும் கூற முடியாத இணைப்பு. ஒரே பங்கிடப்பட்ட வேலை மரத்தில் இரு Git செயல்முறைகளை இயக்குவதைத் தவிர்க்கவும், அவை எவ்வாறு ஒருங்கிணைக்கின்றன என்பதைப் புரிந்து கொள்ளாதவரை.
பின்னர் சரிசெய்யுங்கள், SSH ஐ விவேகமாக வைத்திருங்கள்
ஏற்பாடு சரியானதும், இரு அமைப்புகள் Git எத்தனை கோப்புகளைப் பற்றிக் கேட்க வேண்டும் என்பதை மாற்றுகின்றன: status.showUntrackedFiles மற்றும் core.untrackedCacheக்குப் பின்னால் உள்ள கண்காணிக்கப்படாத தேக்ககம். இரண்டும் 40 ms இல் ஒவ்வொரு கேள்வியின் செலவை மாற்றுவதில்லை; கேள்விகளின் எண்ணிக்கையை மட்டுமே மாற்றுகின்றன. போக்குவரத்துகள் உள்ளூராகிய பிறகே குமிழைத் திருப்புங்கள்.
ஒரு பெரிய கோப்பை நகலெடுக்கும் அளவுகோலில் இருந்து தர்க்கிப்பதற்குப் பதிலாக உங்களை எரிச்சலூட்டும் கட்டளையின் நேரத்தை அளவிடுங்கள், மேலும் ஆதரிக்கப்படும் SSH மறையாக்கத்தை அப்படியே விடுங்கள். காலாவதியான மறைக்குறியீடு போக்குவரத்தைச் சுருக்காது; முதலில் இருந்ததை விட நீண்டு நிற்கும் இரண்டாவது பிரச்சினையைச் சேர்க்கிறது. git status குறிப்பு ஒரு முறை படிக்கத் தகுந்தது, ஏனென்றால் கட்டளை அதன் பெயர் குறிப்பதை விட மிக அதிக வேலை செய்கிறது.