Git Cheat Sheet - Git-Flow [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
===============
<hr>
<p align="center">
	<img alt="Git" src="https://github.com/flyhigher139/Git-Cheat-Sheet/blob/master/Img/git-logo.png" height="190" width="455">
</p>
<hr>

# Other Available Languages:
1. [Arabic Git Cheat Sheet](https://github.com/arslanbilal/git-cheat-sheet/blob/master/other-sheets/git-cheat-sheet-ar.md)
2. [Chinese Git Cheat Sheet](https://github.com/arslanbilal/git-cheat-sheet/blob/master/other-sheets/git-cheat-sheet-zh.md)
3. [Hindi Git Cheat Sheet](https://github.com/arslanbilal/git-cheat-sheet/blob/master/other-sheets/git-cheat-sheet-hi.md)
4. [Turkish Git Cheat Sheet](https://github.com/arslanbilal/git-cheat-sheet/blob/master/other-sheets/git-cheat-sheet-tr.md)
5. [Spanish Git Cheat Sheet](https://github.com/arslanbilal/git-cheat-sheet/blob/master/other-sheets/git-cheat-sheet-es.md)

Git cheat sheet saves you from learning all the commands by heart.

Be free to contribute, update the grammar mistakes. You are also free to add your language file.
<hr>

Git Cheat Sheet Nepalese [N P](#N-P) [![.](https://github.com/Imsatis/GIt-Command/blob/master/nepgitcom/Flag-logo.svg)](#)
===============
###अनुक्रमणिका
* [सेटअप](#सेटअप-)
* [कन्फिगरेसन फाइलहरू](कन्फिगरेसन-फाइलहरू) 
* [सिर्जना](#सिर्जना)
* [स्थानीय परिवर्तनहरू](#स्थानीय-परिवर्तनहरू)
* [खोजी गर्नुहोस्](#खोजी-गर्नुहोस्)
* [कमिटि इतिहास](#कमिटि-इतिहास)
* [शाखाहरू र ट्यागहरू](#शाखाहरू-र-ट्यागहरू)
* [अपडेट र प्रकाशित](#अपडेट-र-प्रकाशित)
* [मर्ज र विस्थापन](#मर्ज-र-विस्थापन)
* [पूर्ववत](#पूर्ववत)
* [Git प्रवाह](#Git-प्रवाह)

<hr>

[###सेटअप](###सेटअप)                                                                 


##### वर्तमान कन्फिगरेसन देखनु:
```
$ git config --list
```

##### भण्डार कन्फिगरेसन देखनु:
```
$ git config --local --list
```

##### विश्वव्यापी विन्यास देखनु:
```
$ git config --global --list
```

##### प्रणाली कन्फिगरेसन देखनु:
```
$ git config --system --list
```

##### संस्करण इतिहास पूर्वावलोकन गर्दा क्रेडिटको लागि पहिचान योग्य नाम सेट गर्न:
```
$ git config --global user.name “[firstname lastname]”
```

##### एक इमेल ठेगाना सेट गर्न जुन हरेक इतिहास मार्करसँग सम्बन्धित हुनेछ:
```
$ git config --global user.email “[valid-email]”
```

##### सजिलो समीक्षाको लागि Git को लागि स्वचालित आदेश रेखा रंग सेट गर्न:
```
$ git config --global color.ui auto
```

##### प्रतिबद्धताको लागि वैश्विक सम्पादक सेट गर्न:
```
$ git config --global core.editor vi
```

<hr>

[##कन्फिगरेसन फाइलहरू](##कन्फिगरेसन-फाइलहरू)

##### भण्डार विशिष्ट कन्फिगरेसन फाइल [--local]:
```
$ <repo>/.git/config
```

##### प्रयोगकर्ता-विशिष्ट कन्फिगरेसन फाइल [--global]:
```
$ ~/.gitconfig
```

##### प्रणाली-विस्तृत विन्यास फाइल [--system]:
```
$ /etc/gitconfig
```

<hr>

[##सिर्जना](##सिर्जना)

##### अवस्थित भण्डार क्लोन गर्न:

त्यहाँ दुई तरिकाहरू छन्:

को द्वारा SSH

```
$ git clone ssh://user@domain.com/repo.git
```

को द्वारा HTTP

```
$ git clone http://domain.com/user/repo.git
```

##### नयाँ स्थानीय भण्डार सिर्जना गर्न:
```
$ git init
```

<hr>

[##स्थानीय परिवर्तनहरू](##स्थानीय-परिवर्तनहरू)


##### काम गर्ने निर्देशिकामा परिवर्तनहरू:

```
$ git status
```

##### ट्रयाक गरिएका फाइलहरूमा परिवर्तनहरू:

```
$ git diff
```

##### अर्को प्रतिबद्धताहरूमा सबै वर्तमान परिवर्तनहरू थप्नु:

```
$ git add .
```

##### & Lt; फाइल & gt; मा केहि परिवर्तनहरू थप्नु। अर्को प्रतिबद्धतामा:

```
$ git add -p <file>
```

##### ट्रयाक गरिएका फाइलहरूमा सबै स्थानीय परिवर्तनहरू प्रतिबद्ध गर्नु:

```
$ git commit -a
```

##### पहिलेको प्रतिबद्धता परिवर्तन भयो:

```
$ git commit
```

##### सन्देशसँग प्रतिबद्धता गर्न:

```
$ git commit -m 'message here'
```

##### स्टेजिंग क्षेत्र छोड्दै र सन्देश थप्न प्रतिबद्ध गर्न:

```
$ git commit -am 'message here'
```

##### केही अघिल्लो मितिमा प्रतिबद्धता गर्न:

```
$ git commit --date="`date --date='n day ago'`" -am "Commit Message"
```

##### अन्तिम प्रतिबद्धता परिवर्तन गर्न:<br>

<em><sub>प्रकाशित प्रतिबद्धताहरू संशोधन नगर्नुहोस्!</sub></em>

```
$ git commit -a --amend
```

##### अन्तिम प्रतिबद्धताको कमेटर मिति बदल्नु:

```
$ GIT_COMMITTER_DATE="date" git commit --amend
```

##### अन्तिम प्रतिबद्धताको मिति लेखक परिवर्तन गर्नु:

```
$ git commit --amend --date="date"
```

##### हालको शाखाबाट कुनै अन्य शाखामा असामान्य परिवर्तनहरू सार्नु:<br>
```
$ git stash
$ git checkout branch2
$ git stash pop
```

##### विफलता परिवर्तनहरू हालको शाखामा पुनःस्थापित गर्नु:

```
$ git stash apply
```

##### विफलताको अन्तिम सेट हटाउनु:

```
$ git stash drop
```

<hr>

[##खोजी](#खोजी)

##### डाइरेक्टरीमा सबै फाइलहरूमा पाठ खोज:

```
$ git grep "Hello"
```

##### पाठ खोजीको कुनैपनि संस्करणमा:

```
$ git grep "Hello" v2.5
```

<hr>

[###कमिटि-इतिहास](##कमिटि-इतिहास)

##### सबै कमिटिहरू देखाउनुहोस्, नयाँसँग सुरू गर्नुहोस् (यसले हैश, लेखक जानकारी, प्रतिबद्धताको मिति र प्रतिबद्धताको शीर्षक देखाउनेछ:
```
$ git log
```

##### सबै कमेन्टहरू देखाउनुहोस् (यसले केवल प्रतिबद्ध हैश र प्रतिबद्ध सन्देश देखाउनेछ):

```
$ git log --oneline
```

##### एक विशिष्ट प्रयोगकर्ताको सबै कमेन्टहरू देखाउनुहोस्:

```
$ git log --author="username"
```

##### विशिष्ट फाइलको लागि समयको साथ परिवर्तनहरू देखाउनुहोस्:

```
$ git log -p <file>
```

##### प्रदर्शन गर्दछ जुन केवल दायाँ तिर रिमोट / शाखामा उपस्थित छ

```
$ git log --oneline <origin/master>..<remote/master> --left-right
```

##### कसले परिवर्तन गर्यो, के र कहिले &lt;file&gt;:
```
$ git blame <file>
```

##### सन्दर्भ लगाउनुहोस्:

```
$ git reflog show 
```

##### सन्दर्भ लग इन गर्नुहोस्:

```
$ git reflog delete
```
<hr>

[##शाखाहरू र ट्यागहरू](##शाखाहरू-र-ट्यागहरू)

##### सबै स्थानीय शाखाहरू सूचीबद्ध गर्नुहोस्:

```
$ git branch
```

##### सबै रिमोट शाखाहरू सूचीबद्ध गर्नुहोस्:

```
$ git branch -r
```

##### HEAD शाखा स्विच गर्नुहोस्:

```
$ git checkout <branch>
```

##### नयाँ शाखा बनाउनुहोस् र स्विच गर्नुहोस्:

```
$ git checkout -b <branch>
```

##### तपाईंको वर्तमान HEAD मा आधारित नयाँ शाखा सिर्जना गर्नुहोस्:

```
$ git branch <new-branch>
```

##### रिमोट शाखामा आधारित नयाँ ट्र्याकिङ शाखा सिर्जना गर्नुहोस्:

```
$ git branch --track <new-branch> <remote-branch>
```

##### स्थानीय शाखा मेटाउनुहोस्:

```
$ git branch -d <branch>
```

##### स्थानीय शाखालाई हटाउनुहोस्:

<em><sub>तपाईंले अनमर्जित परिवर्तन गुमाउनुहुनेछ!</sub></em>

```
$ git branch -D <branch>
```

##### ट्यागको साथ वर्तमान प्रतिबद्धता चिन्ह लगाउनुहोस्:

```
$ git tag <tag-name>
```

##### एक सन्देश समावेश गर्ने ट्यागको साथ वर्तमान प्रतिबद्धता चिन्ह लगाउनुहोस्:

```
$ git tag -a <tag-name>
```
<hr>

[##अपडेट र प्रकाशित](##अपडेट-र-प्रकाशित)


##### सबै हालको कन्फिगर गरिएको सम्झौताहरू सूचीबद्ध गर्नुहोस्:

```
$ git remote -v
```

##### टाढाको बारेमा जानकारी देखाउनुहोस्:

```
$ git remote show <remote>
```

##### नयाँ रिमोट भण्डार थप्नुहोस्, नाम & lt; रिमोट & gt ;:

```
$ git remote add <remote> <url>
```

##### & Lt; रिमोट & gt; बाट सबै परिवर्तनहरू डाउनलोड गर्नुहोस्, तर HEAD मा एकीकृत नगर्नुहोस्:

```
$ git fetch <remote>
```

##### परिवर्तनहरू डाउनलोड गर्नुहोस् र सीधा मा सीधा मर्ज / एकीकृत गर्नुहोस्:

```
$ git remote pull <remote> <url>
```

##### HEAD बाट सबै परिवर्तनहरू स्थानीय भण्डारमा प्राप्त गर्नुहोस्:

```
$ git pull origin master
```

<<<<<<< HEAD

=======

##### मर्ज बिना स्थानीय भण्डारमा सबै परिवर्तनहरू प्राप्त गर्नुहोस्:

```
git pull --rebase <remote> <branch>
```

##### रिमोटमा स्थानीय परिवर्तनहरू प्रकाशित गर्नुहोस्:

```
$ git push remote <remote> <branch>
```

##### रिमोटमा एक शाखा मेटाउनुहोस्:

```
$ git push <remote> :<branch> (since Git v1.5.0)
or
$ git push <remote> --delete <branch> (since Git v1.7.0)
```

##### तपाईंको ट्याग प्रकाशित गर्नुहोस्:

```
$ git push --tags
```
<hr>

[##मर्ज र विस्थापन](##मर्ज-र-विस्थापन ) 


##### तपाईंको वर्तमान HEAD मा <branch> मर्ज गर्नुहोस्:

```
$ git merge <branch>
```

##### तपाईंको वर्तमान HEAD लाई & lt; शाखामा & gt;:<br>

<em><sub>प्रकाशित प्रतिबद्धता रद्द नगर्नुहोस्!</sub></em>

```
$ git rebase <branch>
```

##### पुनर्स्थापना रद्द गर्नुहोस्:

```
$ git rebase --abort
```

##### संघर्ष समाधान पछि एक बिदा जारी राख्नुहोस्:

```
$ git rebase --continue
```

##### संघर्षहरू समाधान गर्न तपाईंको कन्फिगर गरिएको मर्ज उपकरण प्रयोग गर्नुहोस्:

```
$ git mergetool
```

##### म्यानुअल रूपमा विवाद समाधान गर्न तपाईंको सम्पादक प्रयोग गर्नुहोस् र (समाधान पछि) फाइलको रूपमा समाधानको रूपमा चिन्ह लगाउनुहोस्:

```
$ git add <resolved-file>
```

```
$ git rm <resolved-file>
```

##### स्क्वैशिंग काम गर्दछ:

```
$ git rebase -i <commit-just-before-first>
```

अब यो बदल्नुहोस्,


```
pick <commit_id>
pick <commit_id2>
pick <commit_id3>
```

यो गर्न,

```
pick <commit_id>
squash <commit_id2>
squash <commit_id3>
```
<hr>

[##पूर्ववत](##पूर्ववत)


##### तपाईंको काम गर्ने डाइरेक्टरीमा सबै स्थानीय परिवर्तनहरू खारेज गर्नुहोस्:

```
$ git reset --hard HEAD
```

##### टाढाको क्षेत्रबाट सबै फाईलहरू पाउनुहोस् (जसमा अन्तिम `git थप` अन्डु गर्नुहोस्):

```
$ git reset HEAD
```

##### विशिष्ट फाइलमा स्थानीय परिवर्तनहरू खारेज गर्नुहोस्:

```
$ git checkout HEAD <file>
```

##### एक प्रतिबद्धता उल्टाउनुहोस् (विपरीत परिवर्तनको साथ नयाँ प्रतिबद्धता उत्पादन गरेर):

```
$ git revert <commit>
```

##### तपाईंको HEAD सूचकलाई अघिल्लो प्रतिबद्धतामा रिसेट गर्नुहोस् र त्यसपछि सबै परिवर्तनहरू त्याग्नुहोस्:

```
$ git reset --hard <commit>
```

##### तपाईंको HEAD सूचक रिमोट शाखा हालको अवस्थामा रिसेट गर्नुहोस्।

```
git reset --hard <remote/branch> e.g., upstream/master, origin/my-feature
```

##### आफ्नो HEAD सूचकलाई अघिल्लो प्रतिबद्धतामा रिसेट गर्नुहोस् र अपस्टरेटेड परिवर्तनको रूपमा सबै परिवर्तनहरू सुरक्षित गर्नुहोस्:

```
$ git reset <commit>
```

##### तपाईंको HEAD सूचकलाई अघिल्लो प्रतिबद्धतामा रिसेट गर्नुहोस् र असामान्य स्थानीय परिवर्तनहरू सुरक्षित गर्नुहोस्:

```
$ git reset --keep <commit>
```

##### फाइलहरू हटाउनुहोस् जुन ग्यारेन्टीमा प्रतिबद्ध हुनुभन्दा पहिले गितग्रेन्डमा थपियो

```
$ git rm -r --cached .
$ git add .
$ git commit -m "remove xyz file"
```
<hr>

[##Git-Flow](#Git-Flow)

### अनुक्रमणिका

* [सेटअप](#सेटअप)
* [सुरु गर्दै](#सुरु-गर्दै)
* [विशेषताहरु](#विशेषताहरु)
* [रिलीज बनाउनुहोस्](#रिलीज-बनाउनुहोस्)
* [हटफिक्सहरू](#हटफिक्सहरू)
* [आदेशहरू](#आदेशहरू)

<hr>


[###सेटअप](###सेटअप)

- तपाईंलाई आवश्यकताको रूपमा काम गरिरहेको गिट स्थापनाको आवश्यकता छ। ओएसएक्स, लिनक्स र विन्डोजमा Git प्रवाह कार्य गर्दछ।

##### OSX Homebrew::

```
$ brew install git-flow
```

##### OSX Macports:

```
$ port install git-flow
```

##### Linux:

```
$ apt-get install git-flow
```

##### Windows (Cygwin):

तपाईलाई विजिट आवश्यक छ र git-flow स्थापना गर्न लिनक्सको प्रयोग प्रयोग गर्नुहोस्।

```
$ wget -q -O - --no-check-certificate https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | bash
```
<hr>


[### सुरु गर्दै](###सुरु-गर्दै)

- तपाईंको परियोजना सेटअप अनुकूलन गर्न Git को प्रवाह प्रारम्भ गर्न आवश्यक छ। अवस्थित गित भण्डार भित्रको प्रारम्भ गरेर गित-प्रवाह प्रयोग गरेर सुरु गर्नुहोस्:

- सुरू गर्नुहोस्:

- तपाइँका शाखाहरूका लागि नामकरण अधिवेशनको बारेमा केहि प्रश्नहरूको जवाफ दिनुपर्नेछ। यसलाई डिफल्ट मानहरू प्रयोग गर्न सिफारिस गरिएको छ।

```
git flow init
```
<hr>


[###विशेषताहरु](###विशेषताहरु)
- आगामी रिलीजहरूको लागि नयाँ सुविधाहरू विकास गर्नुहोस्। विकासकर्ताहरूमा सामान्य रूपमा मात्र अवस्थित हुन्छ।
- नयाँ सुविधा सुरू गर्नुहोस्:
- यो कार्यले 'विकास' मा आधारित नयाँ विशेषता शाखा सिर्जना गर्छ र यसलाई स्विच गर्दछ।

```
git flow feature start MYFEATURE
```

#### एक सुविधा समाप्त गर्नुहोस्:

एक सुविधाको विकास समाप्त गर्नुहोस्। यो कार्यले निम्न कार्य गर्दछ:
1. MYFEATURE लाई 'develop' मा मर्ज गरियो। 
2. सुविधा शाखा हटाउँछ।
3. फिर्ता 'विकास' शाखामा स्विच गर्दछ

```
git flow feature finish MYFEATURE
```

#### एउटा सुविधा प्रकाशित गर्नुहोस्:

के तपाईं सहयोगमा एक सुविधा विकास गर्दै हुनुहुन्छ? टाढाको सर्भरमा एक सुविधा प्रकाशित गर्नुहोस् त्यसैले यो अन्य प्रयोगकर्ताहरूद्वारा प्रयोग गर्न सकिन्छ।

```
git flow feature publish MYFEATURE
```

##### एक प्रकाशित फिचर प्राप्त गर्दै:

अर्को प्रयोगकर्ता द्वारा प्रकाशित एक सुविधा प्राप्त गर्नुहोस्।

```
git flow feature pull origin MYFEATURE
```

##### मूल विशेषता ट्र्याक गर्दै:

तपाईंले मूलमा एउटा सुविधा ट्रयाक गर्न सक्नुहुन्छ

```
git flow feature track MYFEATURE
```
<hr>


### रिलीज बनाउनुहोस्

- नयाँ उत्पादन रिलीज को समर्थन को तैयारी। सानो बग समाधानका लागि अनुमति दिनुहोस् र रिलीजको लागि मेटा-डेटा तयार पार्नुहोस्

##### रिलीज सुरू गर्नुहोस्:

- रिलीज सुरू गर्न, गित प्रवाह रिलीज आदेश प्रयोग गर्नुहोस्। यसले 'develop' शाखाबाट निर्मित रिलीज शाखा बनाउँछ। तपाईले वैकल्पिक रुपमा [BASE] को शिल-1 हैशलाई रिलीज गर्न सुरू गर्न सक्नुहुनेछ। प्रतिबद्धहरू 'develop' शाखामा हुनुपर्दछ।

```
git flow release start RELEASE [BASE]
```
##### रिलीज शाखा प्रकाशित गर्न पछि यो अन्य विकासकर्ताद्वारा प्रतिबद्ध अनुमति दिन को लागी बुद्धिमानी हो। आदेशसँग प्रकाशन गर्ने सुविधासँग समान गर्नुहोस्:

```
git flow release publish RELEASE
```
- (तपाईं रिमोट रिलीज ट्रयाक गर्न सक्नुहुन्छ: ```git प्रवाह रिलीज ट्रयाक RELEASE``` कमांड)

##### रिलीज समाप्त गर्नुहोस्:

रिलीज समाप्त गर्दै गित शाखामा ठूलो चरणहरू मध्ये एक हो। यसले धेरै कार्यहरू गर्दछ:
1. रिलीज शाखा फिर्ता 'mmaster' मा मर्ज गर्दछ
2. यसको नाममा रिलीज ट्याग गर्नुहोस्
3. फिर्ता 'मा विकास' मा मर्ज गर्दछ
4. जारी शाखा हटाउँछ

```
git flow release finish RELEASE
```
आफ्नो ट्याग ```git push --tags``` सँग  नबिर्सन

<hr>


### Hotfixes

हटफिक्सहरू प्रत्यक्ष उत्पादन संस्करणको अनावश्यक अवस्थामा तुरुन्तै कार्य गर्न आवश्यक हुन्छ। मास्टर शाखामा सम्बन्धित ट्यागबाट उत्पादन हुने संस्करणलाई चिन्ह लगाउन सकिन्छ।

##### Git प्रवाह हटफिक्स सुरु:

अन्य गिट प्रवाह आदेशहरू जस्तै, हटफिक्स सुरु भएको छ

```
$ git flow hotfix start VERSION [BASENAME]
```
यस संस्करणको आर्गुमेन्टले नयाँ हटफिक्स रिलीज नामलाई चिन्ह लगाउँदछ। वैकल्पिक रूपमा तपाइँबाट सुरु गर्न बेसेनम निर्दिष्ट गर्न सक्नुहुन्छ।

##### हटफिक्स समाप्त गर्नुहोस्:

हटफिक्स पूर्ण गरेर यसलाई यसलाई विकास र मास्टरमा मर्ज गरिएको हुन्छ। थप रूपमा मास्टर मर्ज हॉटफिक्स संस्करणको साथ ट्याग गरिएको छ

```
git flow hotfix finish VERSION
```
<hr>


### आदेशहरू

<p align="center">
    <img alt="Git" src="../Img/git-flow-commands.png" height="270" width="460">
</p>
<hr>

### Git प्रवाह स्किमा

<p align="center">
    <img alt="Git" src="../Img/git-flow-commands-without-flow.png">
</p>
<hr>
>>>>>>> copy







































