2011-10-07 10 views
68

पर रिमोट गिट रिपॉजिटरी में स्थानीय परिवर्तनों को कैसे दबाया जाए, मैं गिट और बिटबकेट का परीक्षण कर रहा हूं।बिटबकेट

मैंने बिटबकेट पर एक संग्रह बनाया है और रेपो की एक स्थानीय प्रतिलिपि बनाई है और इसमें फाइलें कर रहा हूं। मैं फ़ाइलों को अपने स्थानीय रेपो से रिमोट रेपो में धक्का नहीं दे सकता।

यहाँ मैं क्या कर रहा है:

git clone https://[email protected]/me/test.git 
cd test 
touch dummy 
git add dummy 
git commit dummy -m "my first git commit" 
git push 

अंतिम पंक्ति आउटपुट:

Everything up-to-date 

और जब मैं Bitbucket पर लॉग ऑन मैं अपने डमी फ़ाइल को देखने के cann't।

मैं क्या गलत कर रहा हूं?

संपादित करें:

ऐसा काम किया:

git push origin master:master 

इस और एक साधारण git push के बीच अंतर करने के लिए के रूप में किसी भी स्पष्टीकरण?

+0

कोई भी नया इस सवाल को देखने के लिए git, http://stackoverflow.com/questions/5713563/reasons-for-not-working-on-the-master-branch-in-git देखने कृपया – JGallardo

उत्तर

85

इसके बजाय git push origin master का उपयोग करें।

आपके पास स्थानीय रूप से एक भंडार है और प्रारंभिक git push इसे "धक्का" दे रहा है। ऐसा करने के लिए आवश्यक नहीं है (क्योंकि यह स्थानीय है) और यह सबकुछ अद्यतित दिखाता है। git push origin master एक रिमोट रिपोजिटरी (origin) और वहां स्थित शाखा (master) निर्दिष्ट करता है।

अधिक जानकारी के लिए, this resource देखें।

+0

के लिए धन्यवाद स्पष्टीकरण। – Joel

+2

मुझे यह भी जिक्र करना चाहिए कि जब आप कुछ क्लोन करते हैं, तो 'मूल' भंडार स्वचालित रूप से परिभाषित किया जाता है। –

+0

ठीक है, धन्यवाद। मैं svn मानसिकता से बाहर निकलने की कोशिश कर रहा हूँ। – Joel

14

यह प्रकाशित करने के लिए तैयार नहीं होने वाली शाखाओं को धक्का देने से बचने के लिए एक सुरक्षा उपाय है। "गिट पुश" को निष्पादित करके, केवल स्थानीय शाखाएं जो पहले से ही उसी नाम वाले सर्वर पर मौजूद हैं, को धक्का दिया जाएगा, या स्थानीय शाखाओं का उपयोग करके धक्का दी गई शाखाएं: रिमोटब्रैंच सिंटैक्स।

दूरदराज के भंडार के लिए सभी स्थानीय शाखाओं धक्का करने के लिए, --all का उपयोग करें:

git push REMOTENAME --all 
git push --all 

या सभी शाखाओं आप पुश करने के लिए चाहते हैं निर्दिष्ट करें:

git push REMOTENAME master exp-branch-a anotherbranch bugfix 

इसके अलावा, यह करने के लिए -u जोड़ने के लिए उपयोगी है "गिट पुश" कमांड, क्योंकि यह आपको बताएगा कि आपकी स्थानीय शाखा रिमोट शाखा के आगे या पीछे है या नहीं। जब आप गिट फ़ेच के बाद "गिट स्थिति" चलाते हैं तो यह दिखाया जाता है।

8

मैं Git साथ हूँ से https://git-scm.com/ डाउनलोड किया है और set up ssh निर्देश https://stackoverflow.com/a/26130250/4058484 के लिए जवाब देने के लिए का पालन करें।

एक बार उत्पन्न सार्वजनिक कुंजी मेरी Bitbucket खाते में सत्यापित किया गया है, और कदम के रूप में http://www.bohyunkim.net/blog/archives/2518 पर explaned का हवाला देते हुए मैंने पाया कि सिर्फ 'Git पुश' काम कर रहा है:

git clone https://[email protected]/me/test.git 
cd test 
cp -R ../dummy/* . 
git add . 
git pull origin master 
git commit . -m "my first git commit" 
git config --global push.default simple 
git push 

शैल जवाब के रूप में नीचे हैं:

$ git push 
Counting objects: 39, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (39/39), done. 
Writing objects: 100% (39/39), 2.23 MiB | 5.00 KiB/s, done. 
Total 39 (delta 1), reused 0 (delta 0) 
To https://[email protected]/me/test.git 992b294..93835ca master -> master 

यह भी GitHub

01 में master to gh-pages विलय पर पुश करने के लिए के लिए काम करता
git checkout gh-pages 
git merge master 
git push 
संबंधित मुद्दे