गिट के साथ 'मास्टर' पर वापस कैसे जाएं?


135

मैंने अपनी पहली प्रतिबद्धता बनाई है; फिर एक शाखा बनाई गई (चलिए कहते हैं कि शाखा 1)।

इस शाखा में मैंने एक निर्देशिका 'उदाहरण' बनाई और शुरू की। GitHub में मुझे अपनी नई शाखा और नई निर्देशिका 'उदाहरण' दिखाई देती है जिसे मैंने जोड़ा है।

अब मुझे आश्चर्य है कि मैं मास्टर को वापस कैसे सिंक कर सकता हूं; और इसलिए 'उदाहरण' फ़ोल्डर को हटा दिया गया है (क्योंकि यह मास्टर पर मौजूद नहीं है)।

संपादित करें: find . -type d -empty -exec touch {}/.gitignore \; काम किया।

जवाबों:


239

आपको शाखा की जाँच करने की आवश्यकता है:

git checkout master

देखें Git पत्रक धोखा अधिक जानकारी के लिए।

संपादित करें: कृपया ध्यान दें कि गिट खाली निर्देशिकाओं का प्रबंधन नहीं करता है, इसलिए आपको उन्हें स्वयं प्रबंधित करना होगा। यदि आपकी निर्देशिका खाली है, तो इसे सीधे हटा दें।


"पहले से ही मास्टर पर" लेकिन मेरी 'उदाहरण' निर्देशिका अभी भी है। मैं मास्टर के साथ सिंक में प्राप्त करना चाहता हूं (इस प्रकार यह फ़ोल्डर नहीं है क्योंकि यह मास्टर शाखा में मौजूद नहीं है)
डिस्को

# ब्रांच मास्टर को कमिट करने के लिए कुछ नहीं (वर्क डायरेक्टरी क्लीन)
डिस्को

@ डिस्को: मैंने पहले भी इस मुद्दे को उठाया है - अगर यह निश्चित रूप से सूचकांक में ट्रैक नहीं किया गया है, तो आप केवल निर्देशिका को स्थानीय रूप से हटा सकते हैं और जब आप इसे वापस लेंगे git checkout branch1
प्लेटिनम अज़ुरे

1
मम्म्म बहुत बुरा; क्या उसके लिए कोई विकल्प नहीं है? मैं अपने सिर में बहुत निर्देशिका का ट्रैक नहीं रख सकता
डिस्को

6

Git Cheatsheet के अनुसार आपको सबसे पहले ब्रांच बनानी होगी

git branch [branchName]

और फिर

git checkout [branchName]

2
मुझे लगता है कि आप प्रश्न को फिर से देख सकते हैं
एली

2

शाखा को हटाने के लिए आपको शाखा में किए गए परिवर्तनों को रोकना होगा या आपको शाखा में किए गए परिवर्तनों को करने की आवश्यकता होगी। यदि आपने वर्तमान शाखा में कोई परिवर्तन किया है तो नीचे दिए गए चरणों का पालन करें।

  1. git stash या git commit -m "XXX"
  2. git checkout master
  3. git branch -D merchantApi

नोट: ऊपर दिए गए चरण स्थानीय रूप से शाखा को हटा देंगे।


1

मैं वहाँ पर क्या हो रहा है के आसपास मेरे सिर पाने की कोशिश कर रहा हूँ। क्या आपके "उदाहरण" फ़ोल्डर में कुछ भी है? Git खाली फ़ोल्डर को ट्रैक नहीं करता है।

यदि आपने अपनी नई शाखा में शाखा लगाई और स्विच किया तो एक नया फ़ोल्डर बनाया और उसे खाली छोड़ दिया, और फिर "git प्रतिबद्ध -a" किया, तो आपको वह नया फ़ोल्डर कमिट में नहीं मिलेगा।

इसका मतलब यह है कि यह अनट्रैक है, जिसका अर्थ है कि एक अलग शाखा की जाँच करना इसे दूर नहीं करेगा।


git init'ed my directory (/ home / dev) के बाद मैंने "कमिट-ए" किया और जीथब को पुश किया। फिर मैंने एक नई शाखा बनाई; कुछ फाइलों के साथ एक निर्देशिका 'उदाहरण' बनाएं और शाखा को शुरू करें। अब मैं नई शाखा में बनाए गए 'उदाहरण' निर्देशिका के बिना प्रारंभिक चरण (मास्टर) पर वापस जाना चाहता हूं।
डिस्को

मास्टर शाखा में भी निर्देशिका 'उदाहरण' नहीं है (जैसा कि मैं github में देखता हूं)
डिस्को

अद्यतन: मैं उदाहरण निर्देशिका के अंदर एक खाली फ़ोल्डर था; यही कारण है कि यह अभी भी मुझे निर्देशिका दिखाता है? Git का उपयोग करके इससे कैसे छुटकारा पाएं
डिस्को

तुम नहीं। git इसके बारे में नहीं जानता। बस इसे हटा दें। बाहर की जाँच कर रहा है कि किसी भी फाइल को शाखा में होना चाहिए लेकिन आपके कार्य निर्देशिका से मास्टर में नहीं होना चाहिए।
दान रे

1

आपको मास्टर शाखा में ले जाएगा।

git checkout master

अन्य शाखाओं पर जाने के लिए (वर्ग कोष्ठक की उपेक्षा करें, यह सिर्फ जोर देने के उद्देश्य से है)

git checkout [the name of the branch you want to switch to]

इस तरह से एक नई शाखा का उपयोग करें -b बनाने के लिए (वर्ग कोष्ठक को अनदेखा करें, यह सिर्फ जोर देने के उद्देश्य से है)

git checkout -b [the name of the branch you want to create]

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.