git - टीएफएस जीआईटी का प्रयोग करके फोरिंग



github tfs (1)

मैं एक परियोजना में हूं जो कि टीएफएस और जीआईटी का उपयोग करता है और मुझे एहसास हो गया है कि मैं अब फोर्क करने में सक्षम नहीं होने जा रहा हूं इसलिए मैंने सोचा कि मैं आपको लोगों से पूछूंगा कि आप इस बारे में एक समाधान के रूप में क्या सोचते हैं

मुझे जो समस्या है वह है कि मेरे पास "बेस" परियोजना है। इसका उपयोग हमारे पास हर ग्राहक के लिए किया जाएगा लेकिन प्रत्येक ग्राहक में कुछ हद तक संशोधनों (लगभग 5-10%) हैं

मैं "क्लाइंट_ए" में फोर्क प्रोजेक्ट "ए" की योजना बना रहा था और आवश्यक परिवर्तनों को बना दिया। सभी वर्ग जहां परिवर्तन किया जा सकता है "ए" में सार वर्गों के कार्यान्वयन हैं, इसलिए मैं निर्भरता मिलने पर ए के एक नए संस्करण को सिंक करने में सक्षम होगा।

मेरी समस्या यह है कि फोर्क का समर्थन नहीं है, हम अपनी टीम में पहले बिटबाकेट का उपयोग कर रहे थे। लेकिन चूंकि हम बाकी कंपनी के साथ एकीकृत थे इसलिए अब हमें जो भी चल रहा है उसे चलाने की जरूरत है ...

ऐसा करने के बारे में मैं सोच रहा हूं ...

git clone http://mycompany.com/tfs/MyDefaultCollection/My Git Projects/_git/A
cd A
git fetch origin
git branch -a
git checkout -b a_branch1 origin/a_branch1
git checkout -b a_branch2 origin/a_branch2
git checkout -b a_branchN origin/a_branchN
git branch -a
git remote add new-origin http://mycompany.com/tfs/MyDefaultCollection/My Git Projects/_git/Client_A
git push --all new-origin
git push --tags new-origin
git remote rm origin
git remote rename new-origin origin

अगर मैं ऐसा करता हूं तो क्या मैं अब भी ए से ऊपर की तरफ रह सकता हूं?


यदि आप अपस्ट्रीम रिमोट ( A ) को निकालते हैं, तो यह काम नहीं कर सकता

शायद आप ऐसा कुछ चाहते हैं

# 1. create Client_A repo in TFS
# 2. get A repo locally
git clone http://mycompany.com/tfs/MyDefaultCollection/My Git Projects/_git/A
cd A
# 3. redefine remotes
git remote rename origin upstream
git remote add origin http://mycompany.com/tfs/MyDefaultCollection/My Git Projects/_git/Client_A
# 4. push to Client A
git push origin
# 5. push to A (when proper)
git push upstream

Git क्लाइंट TFS में रिपॉज़िटरी नहीं बना सकता है, आपको मैन्युअल रूप से वेब इंटरफ़ेस के माध्यम से या मेरी TfsGitAdmin उपयोगिता का उपयोग करने की आवश्यकता है।

अद्यतनः कांटा सुविधा VSTS या TFS 2018 और बाद में उपलब्ध है ( https://docs.microsoft.com/en-us/vsts/git/concepts/forks देखें )।





git-fork