2013-02-15 25 views
12

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

नई बॉयलरप्लेट का उपयोग नई परियोजनाओं के आधार के रूप में करने के लिए सही गिट प्रक्रिया क्या है? मैं दो विकल्पों के बारे में सोच सकता हूं:

  1. फोर्क boilerplate से newproject और शुरू करें। मुझे newproject खींचने का कोई इरादा नहीं है boilerplate में वापस।
  2. क्लोन boilerplate और रिमोट उत्पत्ति को एक नए साफ रेपो में अपडेट करें।

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

उत्तर

12

ध्यान में रखकर आप टेम्पलेट्स के एक से Github पर अपनी परियोजना के भंडारण किया जाएगा boilerplate GitHub परियोजना में शामिल है, मैं होगा:

  • GitHub पर एक नया खाली रेपो (boilerplate के साथ कोई लिंक बनाएँ, कोई need for a fork)
  • क्लोन यह आपकी डिस्क पर एक अलग स्थान में
  • क्लोन boilerplate
  • कॉपी स्थानीयसे सही टेम्पलेटआपके नए स्थानीय रूप से क्लोन किए गए गिथब रेपो
  • (git add, git commit) उस विशिष्ट टेम्पलेट को अपने नए गीथब रेपो पर वापस दबाएं।
  • से वहाँ
+13

दूसरा विकल्प 'बॉयलरप्लेट' क्लोन करना होगा, '.git', फिर' गिट इनिट ',' गिट एड 'हटाएं। , 'गिट प्रतिबद्ध' – aragaer

+0

@aragaer यह नहीं भूलें कि 'बॉयलरप्लेट' में आपके लिए चुनने के लिए कई टेम्पलेट्स हो सकते हैं (जो यहां मामला नहीं हो सकता है), साथ ही आपको दूरस्थ 'मूल' को रीसेट करना होगा। मैं तर्क दूंगा कि मेरा रास्ता आसान है। – VonC

+0

'.git' को हटाने से सब कुछ गिट रीसेट हो जाता है।लेकिन मैं कई टेम्पलेट्स के बारे में सहमत हूं। – aragaer

3

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

+0

यह आपको अपस्ट्रीम मैन्युअल रूप से सेट करने की आवश्यकता है - ताकि आप अपने बॉयलरप्लेट रेपो में अपने परिवर्तनों को धक्का न दें! https://help.github.com/articles/changing-a-remote-s-url/ –

3

कुछ भी नहीं @ VonC के जवाब के साथ गलत काम शुरू है, लेकिन आप वैकल्पिक रूप से a one-liner कि प्रभावी रूप से एक नया रेपो (स्थानीय और दूर से) अपने बीज रेपो के आधार पर inits बनाने के लिए hub उपयोग कर सकते हैं:

clonefork() { 
    hub clone "$1" 
    cd "${1##*/}" 
    hub fork 
} 

अपने खोल में:

$ clonefork user/seed-repo 

"cloneforking" तक अपने बीज रेपो, आप भीमिलइसके द्वारा उत्पन्न सभी रिपोज़ दिखा रहा है।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^