మీరు ప్రాజెక్ట్ కోసం సోర్స్ కంట్రోల్ని సెటప్ చేయాలనుకుంటే, దాన్ని గిట్హబ్ వంటి సేవలో హోస్ట్ చేయకపోతే, మీరు మీదాన్ని అమలు చేయవచ్చు git
కోడ్ను నిల్వ చేయడానికి మరియు ఏదైనా సహకారులకు ప్రధాన రిపోజిటరీగా పనిచేయడానికి VPS లో సర్వర్.
మీ స్వంత సర్వర్ను ఎందుకు అమలు చేయాలి?
ఎన్ని ఫైళ్లు ఉచితంగా హోస్ట్ చేయబడ్డాయి git
గిట్హబ్, గిట్ల్యాబ్ మరియు బిట్బకెట్ వంటి ప్రొవైడర్లు ఉన్నారు, దీన్ని మీరే చేయటానికి పెద్దగా అర్ధం లేదు. అయితే, ఇది ఆచరణీయమైన పరిష్కారం అయిన కొన్ని పరిస్థితులు ఉన్నాయి.
అన్నింటిలో మొదటిది, మీ స్వంత సర్వర్ను నడపడం చాలా ప్రైవేట్గా ఉంటుంది, ప్రత్యేకించి మీరు వేరొకరి “క్లౌడ్” లో నిల్వ చేయని కోడ్లో పనిచేస్తుంటే. GitLab వంటి ప్రొవైడర్లు సురక్షితంగా లేరని కాదు, కానీ ప్రతిదాన్ని మీరే హోస్ట్ చేయడం వల్ల కొంతమందికి మరింత మనశ్శాంతి లభిస్తుంది.
అలాగే, మీరు మూడవ పార్టీ సేవను ఉపయోగిస్తుంటే, ఫైల్ పరిమాణ పరిమితులు ఆదర్శంగా ఉండకపోవచ్చు. 100MB కన్నా పెద్ద ఫైళ్ళను GitHub అనుమతించదు, ఇది పెద్ద బైనరీ ఫైళ్ళతో ఉన్న ప్రాజెక్టులకు పెద్ద సమస్యగా ఉంటుంది. మీ స్వంత సర్వర్ను ఉపయోగించడం ఈ పరిమితిని తొలగిస్తుంది, మీరు ఎక్కువ హార్డ్ డ్రైవ్ స్థలం కోసం చెల్లించవచ్చని అనుకుంటారు.
మీ ఉపయోగం ఏమైనప్పటికీ, మీరు బేర్బోన్ల కంటే బాగా చేయవచ్చు git
. GitLab కమ్యూనిటీ ఎడిషన్ ఉచిత మరియు ఓపెన్ సోర్స్ మరియు మీ సర్వర్లో సెటప్ చేయడం సులభం. ఇది చాలా మంచి వెబ్ ఇంటర్ఫేస్తో పాటు CI / CD సాధనాలను పుష్కలంగా హోస్ట్ చేయడం ద్వారా మీకు అన్ని ప్రయోజనాలను ఇస్తుంది. మీకు ఉచిత సర్వర్ స్థలం ఉంటే GitLab ను ఉపయోగించమని మేము బాగా సిఫార్సు చేస్తున్నాము. (సుమారు 3GB RAM అవసరం.) మరింత తెలుసుకోవడానికి మీరు మా ఇన్స్టాలేషన్ మరియు సెటప్ గైడ్ను చదవవచ్చు.
మీరు అన్ని గంటలు మరియు ఈలలు కోరుకోకపోతే మరియు సరళమైనదాన్ని చేయాలనుకుంటే git
రిమోట్, మీరు చదవడం కొనసాగించవచ్చు.
Git రిమోట్లు వేరొకరి రిపోజిటరీ
గమనించవలసిన మొదటి విషయం git
సర్వర్ను హోస్ట్ చేయడం చాలా క్లిష్టంగా లేదు. Git పంపిణీ చేయబడిన సోర్స్ కోడ్ నియంత్రణ నమూనాను ఉపయోగిస్తుంది; రిపోజిటరీ యొక్క మీ స్థానిక క్లోన్ మీ సహోద్యోగులందరికీ అస్సలు కనెక్ట్ అవ్వదు, కానీ సాధారణంగా బాహ్య కేంద్ర సర్వర్ లేదా సేవలో “రిమోట్” కి కనెక్ట్ అవుతుంది. నెట్టడం మరియు లాగడం చేసినప్పుడు, రిమోట్ యొక్క అధికారిక మాస్టర్ కాపీకి మార్పులు చేయబడతాయి. మీ సహచరులు రిమోట్ నుండి పొందినప్పుడు, వారు మీ కమిట్లను డౌన్లోడ్ చేస్తారు.
సాంకేతికంగా మీరు అమలు చేయవచ్చు git
పూర్తిగా వికేంద్రీకృత సేవగా. మీకు ఇద్దరు వ్యక్తులు ఉంటే, వారు ప్రతి ఇతర నుండి నవీకరణలను లాగారు. (సర్వర్ కాని రిపోజిటరీలకు నెట్టడం ఈ కాన్ఫిగరేషన్లో సిఫారసు చేయబడలేదు.) రెండు పార్టీలు స్టాటిక్ ఐపి చిరునామాలను కలిగి ఉంటే మరియు ఎల్లప్పుడూ ఆన్లైన్లో ఉంటే తప్ప, ఇది ఆచరణలో నిజంగా ఉపయోగపడదు, కాబట్టి చాలా మంది క్లయింట్ మోడల్ను ఎంచుకుంటారు -సర్వర్.
కాబట్టి, ప్రతిదీ a git
కాబట్టి సర్వర్ మాస్టర్ కాపీగా కాన్ఫిగర్ చేయబడిన ఒక సాధారణ రిపోజిటరీ మరియు ఇంటర్నెట్కు తెరవబడుతుంది. ఇది ఏర్పాటు చేయడం ఆశ్చర్యకరంగా సులభం. మొదట, మేము క్రొత్త వినియోగదారుని సృష్టించాలి. ప్రామాణీకరణ మరియు సర్వర్ మరియు క్లయింట్ మధ్య అన్ని ట్రాఫిక్ కోసం Git SSH ని ఉపయోగిస్తుంది, కాబట్టి రిపోజిటరీని నిర్వహించడానికి మాకు సేవా వినియోగదారు అవసరం.
sudo useradd git
అప్పుడు, ఫైల్కు వెళ్ళండి git
మిగిలిన కాన్ఫిగరేషన్ కోసం వినియోగదారు:
su git
మీరు మీ SSH కీలను ఫైల్కు జోడించాలి git
వినియోగదారు యొక్క authorized_keys
ఫైల్:
nano ~/.ssh/authorized_keys
GitHub మరియు GitLab వంటి సేవలు కమాండ్ లైన్ నుండి Git ని ఓడించిన ప్రాంతం ఇది. ప్రాప్యత నిర్వహణ ఈ విధంగా సులభంగా నిర్వహించబడదు, ఎందుకంటే మీరు ప్రతి ఒక్కరికీ ఒకే సేవా వినియోగదారుకు ప్రాప్యత ఇవ్వాలి, ఇది ఆదర్శం కాదు, లేదా మీరు ప్రతి వ్యక్తికి ప్రత్యేక వినియోగదారులను ఏర్పాటు చేయాలి, ఇది ఆదర్శం కాదు. ఏదేమైనా, కమిట్స్ వినియోగదారు పేరుతో ప్రదర్శించబడతాయి మరియు తుది వినియోగదారు వారి ఫైల్లో కాన్ఫిగర్ చేసిన ఇమెయిల్ git
సెట్టింగులు.
ఎలాగైనా, అసలు రిపోజిటరీని సృష్టించడానికి, అమలు చేయండి git init
లో git
యూజర్ హోమ్ డైరెక్టరీ:
git init --bare repository.git
ది --bare
ఎంపిక ఇక్కడ అవసరం. సాధారణంగా, మీరు రిపోజిటరీని క్లోన్ చేసినప్పుడు, git
దాచిన ఫైల్లో సంస్కరణలను నిర్వహించడానికి ఇది ఉపయోగించే అన్ని ఫైల్లను నిల్వ చేస్తుంది .git
ఫోల్డర్ మరియు ప్రస్తుతం సేకరించిన HEAD స్థానం యొక్క ఉపయోగపడే సంస్కరణను నిర్వహిస్తుంది. ఇది సాధారణంగా మీ రెపో ఫోల్డర్ లేకుండా రెట్టింపు అవుతుంది git
, మీకు పెద్ద బైనరీ ఫైల్స్ మరియు కాలక్రమేణా చాలా మార్పులు ఉంటే అది పెద్దదిగా ఉండవచ్చు.
బేర్ రిపోజిటరీ అనేది ప్రస్తుతం సేకరించిన ఫైళ్ళ యొక్క ఉపయోగపడే సంస్కరణలు లేని రిపోజిటరీ. బదులుగా, రిపోజిటరీ ఫోల్డర్ అనేది ఫైల్ ఏమిటో చెప్పవచ్చు .git
ఫోల్డర్. ఇది నిల్వ స్థలాన్ని ఆదా చేస్తుంది మరియు రిపోజిటరీని ప్రాధమిక సర్వర్గా ఏర్పాటు చేస్తుంది. స్థానిక కంటెంట్ లేనందున, HEAD శాఖతో విభేదాలు ఉండవు. పొడిగింపుతో బేర్ రిపోజిటరీలకు పేరు పెట్టడం ఒక సమావేశం .git
ఫైల్ పొడిగింపు, కానీ ఇది స్పష్టంగా అవసరం లేదు.
సర్వర్ వైపు ఇది అవసరం. మీ స్థానిక కంప్యూటర్ నుండి, మీరు రిపోజిటరీని క్లోన్ చేయాలి లేదా క్రొత్త రిమోట్ను జోడించాలి:
git remote add origin [email protected]:repository.git
URL మొదలవుతుంది [email protected]
ఎందుకంటే ఇది SSH ద్వారా కలుపుతుంది git
వినియోగదారు. ది :repository.git
చివరికి ఇది ఐడెంటిఫైయర్ మాత్రమే కాదు, వాస్తవానికి మార్గం పేరు. మార్గం సాపేక్షంగా ఉంటుంది git
యూజర్ యొక్క హోమ్ డైరెక్టరీ, కాబట్టి మీరు రిపోజిటరీని మరెక్కడైనా ఉంచినట్లయితే, మీరు దానిని ఇక్కడకు తరలించాలని లేదా పూర్తి మార్గాన్ని ఉపయోగించాలని మేము సిఫార్సు చేస్తున్నాము.
మీ స్థానిక రిపోజిటరీని కనెక్ట్ చేసిన తర్వాత, మీకు పూర్తి పుష్ మరియు పుల్ యాక్సెస్ ఉండాలి. అయితే, డిఫాల్ట్ అని గుర్తుంచుకోండి git
దీనికి అంతర్నిర్మిత అనుమతుల వ్యవస్థ లేదు, కాబట్టి ఎవరికీ ప్రాప్యత ఉండటాన్ని ఏదీ నిరోధించదు git
మీ ప్రధాన రిపోజిటరీపై పూర్తి నియంత్రణ కలిగి ఉన్న వినియోగదారు.