## వెబ్-డెవ్ కొత్తవారికి GIT ప్రాథమికాలు👶
## `Git` అంటే ఏమిటి?
1. Git అనేది పంపిణీచేయబడిన వెర్షన్ కంట్రోల్ సిస్టమ్.
2. ప్రతి డెవలపర్ యొక్క కంప్యూటర్లో మొత్తం కోడ్బేస్ మరియు చరిత్ర అందుబాటులో ఉంటుంది,
ఇది సులభంగా బ్రాంచింగ్ మరియు విలీనం చేసుకోవడానికి అనుమతిస్తుంది.
3. ఇది కంప్యూటర్ ఫైళ్లలో మార్పులను ట్రాక్ చేయడానికి వెర్షన్ కంట్రోల్ సిస్టమ్ (VCS)గా ఉపయోగిస్తారు.
* పంపిణీ వెర్షన్ కంట్రోల్
* బహుళ డెవలపర్ల మధ్య పని సమన్వయం
* ఎవరు ఏ మార్పులు చేసారు మరియు ఎప్పుడు చేసారు
* ఏ సమయంలోనైనా తిరిగి పడగొట్టగలం
* స్థానిక మరియు రిమోట్ రిపోజిటరీలు
## GIT యొక్క సూత్రాలు
* కోడ్ చరిత్రను ట్రాక్ చేస్తుంది
* మీ ఫైళ్ల "స్నాప్త్షాట్లు" తీసుకొంటుంది
* "కమిట్" చేయడం ద్వారా మీరు ఎప్పుడు స్నాప్త్షాట్ తీసుకోవాలనుకుంటారో నిర్ణయించుకుంటారు
* మీరు ఏ సమయంలోనైనా ఏ స్నాప్త్షాట్ ను సందర్శించవచ్చు
* కమిట్ చేసేముందు ఫైళ్లను స్టేజ్ చేయవచ్చు
### Git & GitHub మధ్య తేడా
| Git | GitHub |
| ------- | ----------- |
| Git ఒక సాఫ్ట్వేర్ | GitHub ఒక క్లౌడ్ సేవ |
| Git స్థానికంగా వ్యవస్థలో ఇన్స్టాల్ చేయబడుతుంది | GitHub వెబ్లో హోస్ట్ చేయబడింది |
| ఇది కమాండ్లైన్ టూల్ | ఇది గ్రాఫికల్ యూజర్ ఇంటర్ఫేస్ |
| Git ను Linux నిర్వాహిస్తాయి | GitHub ను Microsoft నిర్వహిస్తుంది |
| ఇది వెర్షన్ కంట్రోల్ మరియు కోడ్ షేరింగ్ పై ఫోకస్ చేస్తుంది | ఇది కేంద్రీకృత మూల కోడ్ హోస్టింగ్ పై ఫోకస్ చేస్తుంది |
| Git ఓపెన్-సోర్స్ లైసెన్స్ కలిగి ఉంది | GitHub లో ఉచిత, మరియు చెల్లింపు tiers ఉన్నాయి |
| Git 2005 లో విడుదలైంది | GitHub 2008 లో విడుదలైంది |
## GIT ఇన్స్టాలేషన్
* Linux(Debian)
`$sudo apt-get install git`
* Linux(Fedora)
`$sudo yum install git`
* [Download](http://git-scm.com/download/mac) Mac కోసం
* [Download](http://git-scm.com/download/win) Windows కోసం
### ఇన్స్టాలేషన్ ప్రక్రియ దశలు:
1.
2.
3.
4.
5.
6. అప్పుడు కొనసాగించండి Next > Next > Next > Install
7.
### ఇన్స్టాలేషన్ తర్వాత git బాష్ ఉపయోగించి git ను కాన్ఫిగర్ చేయాలి
1. `git config --global user.name 'YourName'`
2. `git config --global user.email 'YourEmail'`
___
## Git ఆదేశాలు
___
### ప్రాజెక్టులను పొందడం & సృష్టించడం
| ఆజ్ఞ | వివరణ |
| ------- | ----------- |
| `git init` | స్థానిక Git రిపోజిటరీని ప్రారంభించండి |
| `git clone ssh://git@github.com/[username]/[repository-name].git` | రిమోట్ రిపోజిటరీ యొక్క స్థానిక కాపీ సృష్టించండి |
### ప్రాథమిక స్నాప్త్షాటింగ్
| ఆజ్ఞ | వివరణ |
| ------- | ----------- |
| `git status` | స్థితిని తనిఖీ చేయండి |
| `git add [file-name.txt]` | ఫైల్ను స్టేజింగ్ ప్రాంతానికి జోడించండి |
| `git add -A` | అన్ని కొత్త మరియు మారిన ఫైళ్లు స్టేజింగ్కు జోడించండి |
| `git commit -m "[commit message]"` | మార్పులను కమిట్ చేయండి |
| `git rm -r [file-name.txt]` | ఫైల్ (లేదా ఫోల్డర్) తొలగించండి |
| `git push` | రిమోట్ రిపోజిటరీకి ప్రెస్కించండి |
| `git pull` | రిమోట్ రిపోజిటరీ నుండి తాజా మార్పులు తీసుకోండి |
### బ్రాంచింగ్ & విలీనం
| ఆజ్ఞ | వివరణ |
| ------- | ----------- |
| `git branch` | బ్రాంచ్లను జాబితా చేయు(ప్రస్తుత బ్రాంచ్ కి asterisk ఉంటుంది) |
| `git branch -a` | అన్ని బ్రాంచ్ల జాబితా (స్థానిక మరియు రిమోట్) |
| `git branch [branch name]` | కొత్త బ్రాంచ్ సృష్టించండి |
| `git branch -D [branch name]` | ఒక బ్రాంచ్ తొలగించండి |
| `git push origin --delete [branch name]` | రిమోట్ బ్రాంచ్ తొలగించండి |
| `git checkout -b [branch name]` | కొత్త బ్రాంచ్ సృష్టించి దానికి మారండి |
| `git checkout -b [branch name] origin/[branch name]` | రిమోట్ బ్రాంచ్ను క్లోన్ చేసి దానితో మారండి |
| `git branch -m [old branch name] [new branch name]` | స్థానిక బ్రాంచ్ పేరు మార్చండి |
| `git checkout [branch name]` | బ్రాంచ్కు మారండి |
| `git checkout -` | గతంలో ఉన్న బ్రాంచ్కు మారండి |
| `git checkout -- [file-name.txt]` | ఫైల్లో మార్పులు తిరస్కరించండి |
| `git merge [branch name]` | బ్రాంచ్ను ప్రస్తుత బ్రాంచ్తో విలీనం చేయండి |
| `git merge [source branch] [target branch]` | సోర్స్ బ్రాంచ్ను టార్గెట్ బ్రాంచ్తో విలీనం చేయండి |
| `git stash` | పనిలో ఉన్న మార్పులను తాత్కాలికంగా నిల్వచేయండి |
| `git stash clear` | అన్ని నిల్వచేయబడిన మార్పులను తొలగించండి |
### ప్రాజెక్టులను పంచుకోవడం & నవీకరించడం
| ఆజ్ఞ | వివరణ |
| ------- | ----------- |
| `git push origin [branch name]` | బ్రాంచ్ను రిమోట్ రిపోజిటరీకి ప్రెస్కించండి |
| `git push -u origin [branch name]` | రిమోట్ రిపోజిటరీకి మార్పులను ప్రెస్కించండి (బ్రాంచ్ను స్మరించు) |
| `git push` | రిమోట్ రిపోజిటరీకి మార్పులను ప్రెస్కించు (యాదృచ్ఛిక బ్రాంచ్) |
| `git push origin --delete [branch name]` | రిమోట్ బ్రాంచ్ తొలగించండి |
| `git pull` | స్థానిక రిపోజిటరీని తాజా కమిట్తో నవీకరించండి |
| `git pull origin [branch name]` | రిమోట్ రిపోజిటరీ నుండి మార్పులు తీసుకోండి |
| `git remote add origin ssh://git@github.com/[username]/[repository-name].git` | ఒక రిమోట్ రిపోజిటరీని జోడించండి |
| `git remote set-url origin ssh://git@github.com/[username]/[repository-name].git` | రిపోజిటరీ యొక్క origin బ్రాంచ్ను SSH కు సెట్ చేయండి |
### తనిఖీ & తులన
| ఆజ్ఞ | వివరణ |
| ------- | ----------- |
| `git log` | మార్పులను వీక్షించండి |
| `git log --summary` | మార్పులను (వివరంగా) వీక్షించండి |
| `git log --oneline` | మార్పులను (సంక్షిప్తంగా) వీక్షించండి |
| `git diff [source branch] [target branch]` | విలీనం చేసేముందు మార్పులను ముందస్తుగా చూడండి |
---
**గమనిక**:
ఈ డాక్యుమెంట్ను AI అనువాద సేవ [Co-op Translator](https://github.com/Azure/co-op-translator) ఉపయోగించి అనువదించబడింది. మేము ఖచ్చితత్వం కోసం ప్రయత్నిస్తున్నప్పటికీ, స్వయంచాలక అనువాదాల్లో పొరపాట్లు లేదా అవిశ్వసనీయతలు ఉండవచ్చు అని గమనించగలరు. సహజ భాషలో ఉన్న అసలైన డాక్యుమెంట్ను అధికారిక మూలం గా పరిగణించాలి. ముఖ్యమైన సమాచారానికి, నిపుణుల మానవ అనువాదం సిఫార్సు చేయబడుతుంది. ఈ అనువాదం వాడకంవల్ల ఏర్పడే ఏదైనా అపార్థాలు లేదా తతంగ దోషాలకు మేము బాధ్యత వహించము.