# push, pull, fetch और ट्रैकिंग — गिट

Source: https://www.geekswithgeeks.com/hi/git/git-push-pull-fetch

> किसी रिमोट के साथ कमिट सिंक करें, और अपस्ट्रीम ट्रैकिंग ब्रांच सेट करें।

## push और pull

`push` आपके कमिट को ऊपर भेजता है; `pull` रिमोट के कमिट को लाकर आपकी मौजूदा ब्रांच में मर्ज करता है।

```bash
git push origin main
git pull origin main
```

## fetch बनाम pull

`git fetch` रिमोट से नए कमिट डाउनलोड करता है, **बिना** मर्ज किए — सिर्फ़ देखने के लिए कभी भी चलाना सुरक्षित है। `git pull` असल में एक ही चरण में `fetch` + `merge` है।

## ट्रैकिंग ब्रांच

`-u` आपकी लोकल ब्रांच को किसी रिमोट ब्रांच से जोड़ता है, ताकि आगे साधारण `git push` / `git pull` को पता हो कहाँ जाना है।

```bash
git push -u origin feature/login
# now just:
git push
git pull
```
