github - संगीतकार के साथ एक कांटा की आवश्यकता कैसे है




composer-php git-fork (5)

ऐसा करने का सबसे आम (और आसान) तरीका एक वीसीएस भंडार का उपयोग कर रहा है।

आपको बस इतना करना है कि अपने फोर्क को एक भंडार के रूप में जोड़ें और अपनी कस्टम शाखा को इंगित करने के लिए संस्करण बाधा अपडेट करें। आपका कस्टम शाखा नाम dev- साथ prefixed किया जाना चाहिए।

उदाहरण यह मानते हुए कि आपने बगफिक्स शाखा में बग को ठीक करने के लिए मोनोलॉग को पैच किया है:

{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/igorw/monolog"
        }
    ],
    "require": {
        "monolog/monolog": "dev-bugfix"
    }
}

ध्यान दें कि आप अपनी बगफिक्स शाखा निर्दिष्ट करने के अलावा आवश्यक कथन को नहीं बदलते हैं। आप अभी भी अपस्ट्रीम पैकेज ( igorw/monolog ) का संदर्भ देते हैं, न कि आपके व्यक्तिगत कांटा ( igorw/monolog )। आप दस्तावेज़ों में विवरण पढ़ सकते हैं

यहां मेरा संगीतकार है। जेसन, मैं गितूब पर कमजोर परियोजना के नोज के कांटे का उपयोग करना चाहता हूं

 "repositories": [{
    "type": "package",
    "package": {
        "version": "dev-master",
        "name": "nodge/lessphp",
        "source": {
            "url": "https://github.com/Nodge/lessphp.git",
            "type": "git",
            "reference": "master"
        },
        "autoload": {
            "classmap": ["lessc.inc.php"]
        }
    }
}],
"require": {
    "php": ">=5.3.3",
    "nodge/lessphp": "dev-master"
},

लेकिन जब मैं अद्यतन करता हूं तो मुझे यह त्रुटि होती है:

nodge / lessphp dev-master -> कोई मिलान पैकेज नहीं मिला।

मुझे नहीं पता कि यह कैसे सही ढंग से इस फोर्क की आवश्यकता है ...

कोई सुझाव ?


ठीक है, तो मैंने दस्तावेज के बारे में क्या कहा और यह काम करता है ... तो मैं अपने फोर्क पर वापस गिटब में किसी भी बदलाव को कैसे दबा सकता हूं यह देखकर कि संगीतकार ने पैकेज फ़ोल्डर में गिट रेपो नहीं बनाया है। क्या मैं वास्तव में रेपो को शुरू करके शुरू करता हूं और इसे फिर से कांटा में इंगित करता हूं या संगीतकार के पास कुछ param है कि मुझे विक्रेता / पैकेज फ़ोल्डर में कांटा के रेपो बनाने के लिए इसके लिए पास करने की आवश्यकता है?

मेरा लक्ष्य है कि मैं किसी भी बदलाव को तोड़ने के लिए करता हूं, फिर पीआर करें, लेकिन पैकेज फ़ोल्डर में कोई गिट रेपो नहीं है।


मैंने कई विकल्पों की कोशिश की है लेकिन मुझे इस पोस्ट के बाद मैंने प्रकाश देखा और यह बिल्कुल सही काम किया।

आपको यही करना है:

1- फोर्क डी भंडार

2- एक शाखा बनाएं और आवश्यक संशोधन करें।

3- अपने composer.json में भंडार लेबल जोड़ें

"repositories": [

        {
            "type": "vcs",
            "url": "https://github.com/user/yourforkname"
        }
    ]

4- आपके प्रोजेक्ट के अंदर कमांड लाइन में इस तरह की कांटा की आवश्यकता होती है:

composer require vendor/packagename:dev-branchname

और वोला !!

आपके पास अपना कांटा संस्करण काम कर रहा है


यदि आप अपने लिए काम करने के लिए @Neilime जवाब नहीं प्राप्त कर सकते हैं, तो सुनिश्चित करें कि आपका कांटा एक अलग शाखा का उपयोग करता है।

उदाहरण के लिए अपने परिवर्तनों को my-bugfix dev- नामक अपने फोर्क पर एक शाखा में dev- , अपनी शाखा के नाम में dev- उपसर्ग को शामिल न करें, लेकिन अपने संगीतकार.जेसन में आपको इसे जोड़ना होगा। आपकी संगीतकार फ़ाइल इस तरह दिखेगी:

"repositories":
[
    {
        "type": "vcs",
        "url": "http://github.com/yourname/packageName"
    }
],
"require": {
    "owner/packageName": "dev-my-bugfix"
},

संगीतकार प्रलेखन http://getcomposer.org/doc/05-repositories.md#vcs के अनुसार, यह require (आपके मामले में "nodge / lessphp") में मूल भंडार (कांटा नहीं) निर्दिष्ट करने के लिए पर्याप्त है। संगीतकार तब आपके कांटा स्थापित करेगा (विक्रेताओं में कोड देखें)





git-fork