मौजूदा गैर-खाली निर्देशिका को गिट वर्किंग डायरेक्टरी में कैसे बदलें और फाइलों को रिमोट रिपॉजिटरी में धकेलें


644
  1. मेरे पास एक गैर-खाली निर्देशिका (जैसे / आदि / कुछ) ऐसी फाइलें हैं जिनका नाम बदला नहीं जा सकता है, स्थानांतरित किया जा सकता है या हटाया जा सकता है।

  2. मैं इस निर्देशिका को जगह में जांचना चाहता हूं।

  3. मैं इस रिपॉजिटरी की स्थिति को एक रिमोट रिपॉजिटरी (किसी अन्य मशीन पर) "गिट पुश" या कुछ इसी तरह का उपयोग करने में सक्षम होना चाहता हूं।

यह तोड़फोड़ का उपयोग कर तुच्छ है (वर्तमान में हम इसे तोड़फोड़ का उपयोग करके करते हैं)

svn mkdir <url> -m <msg>
cd <localdir>
svn co <url> .
svn add <files etc>
svn commit -m <msg>

Git समतुल्य है?

क्या मैं खाली निर्देशिका में "क्लोन क्लोन" कर सकता हूं और केवल .गित निर्देशिका को स्थानांतरित कर सकता हूं और सब कुछ काम कर सकता है?


5
हो सकता है कि मैं अभी इसे प्राप्त न करूं, लेकिन क्या आप git initस्थानीय निर्देशिका के अंदर नहीं चल सकते ?
फिलिप

क्या आपका मतलब है कि आपके पास कहीं और एक रेपो है, और आप उस रेपो को इस अन्य निर्देशिका की सभी सामग्रियों में जोड़ना चाहते हैं जो रेपो नहीं है? या आप उस निर्देशिका में एक नया रेपो बनाने की कोशिश कर रहे हैं?
कैसबेल

कई उत्तरों में गीथूब का उल्लेख है, लेकिन सवाल खुद गिट के बारे में है। github git नहीं है, और यह git ब्रह्मांड का केंद्र नहीं है।
vfclists

जवाबों:


1055

यह देखते हुए कि आपने एक git daemon <url>और एक खाली भंडार स्थापित किया है:

cd <localdir>
git init
git add .
git commit -m 'message'
git remote add origin <url>
git push -u origin master

12
abyx के निर्देश काम करते दिखाई देते हैं। क्या अब मैं दौड़ता हूं: git config branch.master.remote originऔर git config branch.master.merge refs/heads/master जो मैं समाप्त करूंगा वह ठीक वैसा ही होगा जैसे कि मैंने रिमोट रिपॉजिटरी पर क्लोन किया? यानी git pullऔर सिर्फ कामgit push करेंगे ?
HMW

34
यह मेरे लिए भी काम किया। मुझे पहले AppNameGitHub में एक प्रोजेक्ट बनाना था । यह मेरे लिए बिल्कुल स्पष्ट नहीं था <url>मतलब है। तो जो लोग एक ही सवाल के लिए, हम सरल GitHub.com का उपयोग करते हैं, हम अपना रेपो नहीं चला रहे हैं, और फिर <url>5 वीं पंक्ति में इस्तेमाल किया गया कुछ इस तरह दिखाई दिया:https://github.com/CompanyName/AppName
बार्ट

12
यदि आप एक रिपॉजिटरी स्थापित कर रहे हैं जो GitHub पर नहीं है, तो खाली रिमोट रिपॉजिटरी सेट करने के लिए 'git --bare init' का उपयोग करना सुनिश्चित करें , और 'git init' (जैसे मैंने किया) या पुश विफल हो जाएगा।
jdusbabek

3
बस जोड़ना चाहता था, कि मैं तब तक धक्का नहीं दे सकता था जब तक मैंने: a: git pull --rebase
Artemix

6
यदि git अस्वीकार करता है क्योंकि दूरस्थ में कुछ मामूली परिवर्तन (.README, .gitignore, आदि) हैं, git pull origin master --allow-unrelated-historiesतो मर्ज करने का प्रयास करें।
करलिसुप

80

ऐसा ही मैं करता हूं। मैंने यह समझने के लिए स्पष्टीकरण जोड़ा है कि बिल्ली क्या चल रही है।

आरंभिक स्थानीय भंडार

  • पहले Git के साथ आरंभ करें

    git init

  • के साथ संस्करण नियंत्रण के लिए सभी फ़ाइलें जोड़ें

    जोड़ देना।

  • अपनी पसंद के संदेश के साथ एक कमिट बनाएं

    git प्रतिबद्ध -m 'AddBaseCode'

दूरस्थ रिपॉजिटरी को प्रारंभ करें

  • GitHub पर एक प्रोजेक्ट बनाएं और अपने प्रोजेक्ट का URL कॉपी करें। जैसा की नीचे दिखाया गया:

    यहाँ छवि विवरण दर्ज करें

स्थानीय रेपो के साथ रिमोट रेपो लिंक

  • अब अपने स्थानीय रेपो को दूरस्थ GitHub रेपो से जोड़ने के लिए कॉपी किए गए URL का उपयोग करें। जब आप गिट क्लोन के साथ एक रिपॉजिटरी क्लोन करते हैं, तो यह स्वचालित रूप से एक रिमोट कनेक्शन बनाता है जिसे मूल कहा जाता है जो क्लोन रिपॉजिटरी में वापस इंगित करता है। कमांड रिमोट का उपयोग ट्रैक किए गए रिपॉजिटरी के सेट को प्रबंधित करने के लिए किया जाता है।

    git Remote add ओरिजिनल https://github.com/hiteshsahu/H शियम- Word.git

सिंक्रनाइज़

  • अब हमें रिमोट कोड के साथ स्थानीय कोड को मर्ज करने की आवश्यकता है। यह कदम महत्वपूर्ण है अन्यथा हम GitHub पर कोड को धक्का नहीं दे पाएंगे। अपने कोड को पुश करने से पहले आपको 'गिट पुल' को कॉल करना होगा।

    जीआईटी पुल ओरिजनल मास्टर - क्लो-असंबद्ध-इतिहास

अपना कोड कमिट करें

  • अंत में GitHub पर सभी परिवर्तनों को धकेलें

    git push -u मूल गुरु


1
मैंने इस पोस्ट में वर्णित "गिट पुल" को निष्पादित किया है और एक त्रुटि प्राप्त की है। मैंने "गिट पुश" जारी रखा है जिसे स्वीकार कर लिया गया है और जब मैं बोनोबो गिट सर्वर पर जाता हूं, तो अब मैं बदलाव देख सकता हूं। जीआईटी कमांड पर स्पष्ट स्पष्टीकरण के साथ इस पोस्ट के लिए धन्यवाद।
शिलेबे

इसका क्या अर्थ है: "और अपने प्रोजेक्ट के URL को कॉपी करें और प्रोजेक्ट के URL को कॉपी करें।" क्या यह टाइपिंग की गलती है, या आप दो अलग-अलग URL के बारे में बात करने की कोशिश कर रहे हैं, या?

एक टाइपोग्राफी की गलती, स्क्रीन शॉट में दिखाए गए प्रोजेक्ट के url को कॉपी करें
हितेश साहू

2
यह सही उत्तर है और इसे स्वीकार किया जाना चाहिए। स्वीकृत उत्तर आपके "सिंक्रनाइज़ करें" चरण को याद कर रहा है।
इलन

28

यहाँ मेरा समाधान है:

git init
git remote add origin PATH/TO/REPO
git fetch
git checkout -t origin/master

अच्छा समाधान है जब आप सेटअप दूरस्थ रेपो के साथ .gitignoreऔरREADME.dm
Hattori Hanzo

12

यदि दूरस्थ रिपॉजिटरी खाली नहीं है (यह मामला है यदि आप हब.jazz.net पर IBM DevOps का उपयोग कर रहे हैं) तो आपको निम्न अनुक्रम का उपयोग करने की आवश्यकता है:

cd <localDir>
git init
git add -A .
git pull <url> master
git commit -m "message"
git remote add origin <url>
git push

EDIT 30 जनवरी 17: कृपया नीचे टिप्पणी देखें, सुनिश्चित करें कि आप सही रेपो पर हैं!


उपरोक्त आदेशों ने मेरे सभी मौजूदा बिल्ड को मिटा दिया :( कृपया उपरोक्त चरणों को करने से पहले सावधानी बरतें
सेलेनियम फ्रेमवर्क

7

जब एक गीथॉब रिपॉजिटरी खाली नहीं होती है, जैसे .ignignore और लाइसेंस

पुल का उपयोग करें - असंबंधित-इतिहास और पुश - प्रवर्तन-के साथ-पट्टे

आदेशों का उपयोग करें

git init
git add .
git commit -m "initial commit"
git remote add origin https://github.com/...
git pull origin master --allow-unrelated-histories
git push --force-with-lease

1
मुझे उस अंतिम कथन को संशोधित करने की आवश्यकता थी जैसेgit push -u origin master --force-with-lease
cfont

2

ऐसा करने का सबसे सरल तरीका जो मुझे उपयोगी लगता है, वह नीचे है।

यह आधिकारिक तरीका नहीं हो सकता है लेकिन यह अच्छी तरह से काम करता है।

मान लीजिए कि आपके पास XYZअपने पीसी पर " " नामक एक परियोजना है । अब आप इस प्रोजेक्ट के गिट रेपो बनाना चाहते हैं और इसकी कार्यक्षमता का उपयोग करना चाहते हैं।

चरण 1 : " www.github.com" पर जाएं

चरण 2 : एक " README.md" फाइल के साथ एक रिपॉजिटरी बनाएं (इसे जैसा चाहें वैसा नाम दें)

चरण 3 : अपने पीसी पर रिपॉजिटरी को क्लोन करें।

चरण 4 : क्लोन किए गए फ़ोल्डर में आपको दो चीजें मिलेंगी: " .git" फ़ोल्डर और एक " README.md" फाइल। अपने प्रोजेक्ट फ़ोल्डर में इन दोनों को कॉपी करें " XYZ"।

चरण 5 : क्लोन किए गए रेपो को हटाएं।

चरण 6 : अपने प्रोजेक्ट की सभी फ़ाइलों और फ़ोल्डरों को जोड़ें, कमिट करें और पुश करें।

अब, आप अपनी परियोजना " XYZ" को एक गिट रिपॉजिटरी के रूप में उपयोग कर सकते हैं ।


0

मुझे भी ऐसी ही समस्या का समाधान करना पड़ा था। मैंने एक नई रिपॉजिटरी बनाई, नॉट इन द डाइरेक्ट्री थॉट आई वांटेड टू बी अ रेपोसिटरी । फिर मैंने निर्देशिका में बनाई गई फ़ाइलों की प्रतिलिपि बनाई जिसे मैं एक रिपॉजिटरी बनाना चाहता था। फिर एक मौजूदा रिपॉजिटरी खोलें निर्देशिका का उपयोग करके मैंने फ़ाइलों को केवल कॉपी किया।

नोट: मैंने रिपॉजिटरी को बनाने और खोलने के लिए जीथब डेस्कटॉप का उपयोग किया।


0

यदि आपने कुछ डिफ़ॉल्ट readme fileया के साथ रिपॉजिटरी बनाई है तो यहां मेरा समाधान हैlicense

git init
git add -A
git commit -m "initial commit"   
git remote add origin https://<git-userName>@github.com/xyz.git //Add your username so it will avoid asking username each time before you push your code
git fetch
git pull https://github.com/xyz.git <branch>
git push origin <branch> 
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.