গিটহাব থেকে গিটল্যাবে গিট সংগ্রহস্থল ফোরক করা


93

মনে করুন যে আমি অন্য কারও প্রকল্পে একটি ফিক্স বাস্তবায়ন করতে চাই। এই প্রকল্পটি গিটহাবের উপর নির্ভর করে।

আমি গিটহাবের উপর একটি কাঁটাচামচ তৈরি করতে পারি এবং ঠিক করতে পারি।

তবে আমি গিটহাবের চেয়ে গিটল্যাবে আমার কাঁটা তৈরি করতে চাই।

এটা কি সম্ভব? কীভাবে?

আমি এই নিবন্ধটি পড়েছি: https://about.gitlab.com/2016/12/01/how-to-keep-your-fork-up-to-date-with-its-origin/

যাইহোক, আমি নিশ্চিত না যে আমার ক্ষেত্রে আমার কী করা উচিত।

  • আমি কি কোনওভাবে গিটহাব থেকে প্রকল্পের গিটল্যাবে একটি কাঁটাচামচ তৈরি করব?
  • বা গিটহাব থেকে আমার কি প্রকল্পের গিটল্যাবে একটি আয়না তৈরি করা উচিত?
  • অথবা আমি গিটল্যাবে একটি আয়না তৈরি করব এবং তারপরে আয়নাটি কাঁটাতে পারি?
  • নাকি আমার সম্পূর্ণ আলাদা কিছু করা উচিত?

সঠিক পন্থা কি।

ধন্যবাদ

হালনাগাদ

গিটল্যাবে রিপোসিটোরির মিররিংটি সম্ভবত বোধগম্য নয়। আমি গিটল্যাবে এমওয়াই গিটহাব সংগ্রহস্থলের একটি আয়না তৈরি করতে পারি তবে আমি অন্য কারওয়ের সংগ্রহস্থলের একটি আয়না তৈরি করতে পারি না।

https://docs.gitlab.com/ee/workflow/repository_mirroring.html

আমি এ পর্যন্ত এটিই করেছি:

আমি আমার স্থানীয় মেশিনে মূল গিটহাব প্রকল্পটি ক্লোন করেছি। আমি আমার স্থানীয় ভান্ডারগুলিতে একটি নতুন শাখায় এই সংশোধনটি চালু করেছি। আমি গিটল্যাবে একটি খালি প্রকল্প তৈরি করেছি। আমি আমার স্থানীয় ভান্ডারটিতে গিটল্যাবের সেই শূন্য প্রকল্পে উত্স স্থাপন করেছি এবং উভয় শাখা গিটল্যাবে ঠেলেছি। আমি আমার স্থানীয় সংগ্রহশালায় গিটহাব সংগ্রহস্থলে সেট আপ করেছি।

আমি যখন মূল গিটহাব সংগ্রহশালা থেকে গিটল্যাব-তে (যেমন রিপোজিটরিগুলি সিঙ্ক করে) সংগ্রহস্থলটিতে নতুন কমিট পেতে চাই, তখন আমি আমার স্থানীয় রেপোটিকে মধ্যবর্তী পদক্ষেপ হিসাবে ব্যবহার করতে পারি using তবে গিটহাবের রেপো এবং গিটল্যাবের রেপোর মধ্যে সরাসরি সংযোগ নেই। আমার সেটআপ সঠিক? আমি গিটহাবের কাঁটাচামচ তৈরি করলে কোনও পার্থক্য আছে কি?

উত্তর:


124

আপনি যদি কেবল পরিবর্তনগুলি ট্র্যাক করতে চান তবে প্রথমে গিটল্যাবে একটি ফাঁকা সংগ্রহশালা তৈরি করুন (বা আপনি যা কিছু ব্যবহার করতে পারেন) এবং এটি আপনার কম্পিউটারে ক্লোন করুন।

তারপরে গিটহাব প্রকল্পটি " আপস্ট्रीम " রিমোট হিসাবে যুক্ত করুন :

git remote add upstream https://github.com/user/repo

এখন কোনও পরিবর্তন হওয়া উচিত আপনি আপ স্ট্রিম থেকে আনতে এবং টানতে পারেন। (আপনার অ্যাক্সেসের অধিকার থাকলে আপনি এতে চাপ দিতে বা একত্রীকরণ করতে পারেন))

git pull upstream master

শেষ পর্যন্ত, আপনার নিজের গিটল্যাব সংগ্রহস্থলে ফিরে যান:

git push origin master

আপনি যদি ম্যানুয়ালি আপ স্ট্রিম / পুশ উত্সটি টানতে না চান তবে গিটল্যাব সেটিংস => সংগ্রহস্থল => মিররিংয়ের সংগ্রহস্থলে মিররিংয়ের ক্ষমতা সরবরাহ করে।


15
আমি কেন এই সঠিক পদ্ধতির এই উত্তরটির পরিপূরক করতে চাই। "ফোর্কিং" হ'ল গিটহাব দ্বারা নির্মিত একটি ধারণা এটি কেবলমাত্র গিটহাবের উপর বিদ্যমান, তবে তা দরকারী। আপনি যদি খাঁটি গিট নিজেই বিবেচনা করেন (খাঁটি গিট সার্ভারের মতো আপনার নেটওয়ার্কে কোথাও চলছে), এটি আপনার নিজের সার্ভারে রেপো ক্লোনিং করার এবং তারপরে এটি আপনার স্থানীয় কম্পিউটারে ক্লোন করার মতো। আপনি স্থানীয় স্থানীয়ভাবে আপস্ট্রিম হিসাবে মূল রেপো যুক্ত করতে চাই। আমি বিশ্বাস করি গিটহাব পর্দার আড়ালে যা করে।
ব্রুনো ফিঙ্গার

9
শুধু যে forking যোগ করতে চান করে GitLab উপস্থিত দেখতে এখানে উদাহরণস্বরূপ।
বেলাকন

4
আমাকে ব্যবহার করতে হয়েছিল: আপ
স্ট্রিম মাস্টারটি টানুন

আপনি কীভাবে পরে টানার অনুরোধ জমা দেবেন?
এরিক অ্যারোনস্টি

4
@ এরিক অ্যারনেস্টি যে এটি "টানুন অনুরোধগুলি" টেকটিওয়াল একটি গিট জিনিস নয়, বরং গিটহাব জিনিস। যদিও এটি করার একটি উপায় হ'ল গিটহাবের একটি অনুলিপি কাঁটাচামচ করা এবং আপনার কাঁটাচুরা রেপোটিকে অন্য দূরবর্তী হিসাবে যুক্ত করা, বলুন git remote add upstream-fork git@github.com:myuser/repo। তারপরে এটি কেবল বিষয় git push upstream-fork masterএবং গিটহাব সাইটের মাধ্যমে আপনার টানার অনুরোধ জমা দিন।
ক্রিস ওয়াটস

17

ব্রাউজারের একমাত্র উপায়:

  1. গিটলাবে একটি নতুন প্রকল্প তৈরি করুন (নামের সাথে খালি একটি প্রকল্প ভাল আছে)
  2. সেটিংস -> প্রতিক্রিয়াগুলিতে যান
  3. 'মিররিংয়ের সংগ্রহস্থলগুলির' নিচে গিটহাব ইউআরএল প্রবেশ করুন
  4. 'মিরর দিকটি' 'টান' তা নিশ্চিত করুন
  5. 'মিরর সংগ্রহস্থল' বোতাম টিপুন
  6. প্রদর্শিত হবে এমন প্রবেশের পাশের সিঙ্ক আইকনটি টিপুন

আমার এন্টারপ্রাইজ সংস্করণ লাইসেন্স নেই, অর্থাৎ আমি ৩ য় ধাপ থেকে "মিররিংয়ের সংগ্রহগুলি" দেখতে পাচ্ছি না যাইহোক, আমার যদি এমন লাইসেন্স থাকে তবে আমি কি অন্য কারও গিটহাবের সংগ্রহস্থলের একটি আয়না তৈরি করতে পারি?
সিমলম্যান

4
@ সিমলম্যান এটি আশ্চর্যজনক, কারণ আমিও একটি মুক্ত লাইসেন্সে আছি। হয়ত পুনঃস্থাপন? 'সেটিংস-> সংগ্রহস্থল' এ তৃতীয় হওয়া উচিত। কেবল পরিষ্কার করার জন্য: সাইডবারের সেটিংস, প্রোফাইল মেনু নয়।
aksh1618

পাশের বারে সেটিংস -> সংগ্রহস্থল ক্লিক করার পরে, আমি বিভাগগুলি সুরক্ষিত শাখাগুলি, সুরক্ষিত ট্যাগগুলি, কীগুলি স্থাপন করুন, টোকেন স্থাপন করতে পারি।
সিমলম্যান

4
@ সিমলম্যান আপনি কি একটি কাস্টম / স্থানীয় গিটল্যাব উদাহরণ ব্যবহার করছেন? Gitlab.com- এ আমার ব্যক্তিগত, বেসিক অ্যাকাউন্টে আমার আরও অনেকগুলি বিকল্প রয়েছে
aksh1618

4
আমরা একটি স্ব-পরিচালিত ইনস্টলেশন, সংস্করণ 10.7.2 ব্যবহার করছি। সর্বশেষ প্রকাশ 11.6। ঠিক আছে, এটি একটি ভাল পয়েন্ট। :) আমি আমাদের গিটল্যাবে আপনার সমাধান চেষ্টা করতে পারি না। যাইহোক, সমস্যাটি এখন আমার পক্ষে অচল। এটি ছিল আমাদের তৃতীয় পক্ষের লাইব্রেরির কাস্টম বাগ-ফিক্স সম্পর্কে। তবে ইতিমধ্যে বাগ ফিক্সটি সেই লাইব্রেরির আনুষ্ঠানিক প্রকাশের সাথে সংযুক্ত করা হয়েছে।
সিমলম্যান

0

একটি ব্যক্তিগত গিথুব সংগ্রহস্থল জালিয়াতি করা সম্ভব।

  1. নতুন প্রকল্পে ক্লিক করুন
  2. আমদানি নির্বাচন করুন
  3. গিথুব নির্বাচন করুন
  4. ওআউথ 2 গিতল্যাব অ্যাপটি প্রমাণীকরণ এবং স্বয়ংক্রিয় করতে ব্যবহৃত হয়
  5. কাঁটাতে প্রকল্প নির্বাচন করুন

Just আমি সবেমাত্র গিথুবে একটি ব্যক্তিগত রেপো দিয়ে সফলভাবে আমদানি করেছি (ইন শাখাগুলি) etc আমদানি করা প্রকল্পটি স্বয়ংক্রিয়ভাবে ব্যক্তিগত রাখা হয়;)


4
প্রকল্প আমদানির জন্য একটি "ব্যক্তিগত অ্যাক্সেস টোকন" প্রয়োজন। আমি গিটহাবের মধ্যে একটি উত্পন্ন করার চেষ্টা করেছি। মনে হয় এই বৈশিষ্ট্যটি কার্যকর যখন আমি গিটহাবের আমার প্রকল্প থেকে গিটল্যাবে একটি প্রকল্প তৈরি করতে চাই। এই ধারণাটি কি সঠিক? প্রশ্নটি অন্য কারও একটি গিটহাব প্রকল্পকে কল্পনা করার বিষয়ে।
সিমলম্যান

4
-1 কারণ, এবং পূর্ববর্তী মন্তব্য অনুসারে, প্রশ্নটি অন্য কারও গিথুব প্রকল্পকে কাঁটাচামচ করার বিষয়ে। এই উত্তরের নির্দেশাবলী এমন ক্ষেত্রে কার্যকর হবে না।
নিকোস আলেকজান্দ্রিস

4
@ নিকোস অ্যালেক্সান্দ্রিস কি নিশ্চিত? আপনি কি নিজের অ্যাকাউন্টের জন্য অ্যাক্সেস টোকেন তৈরি করতে এবং আপনি যে কারও রেপোতে অ্যাক্সেস পড়েছেন সেটি অ্যাক্সেস করতে পারবেন না? (উদাহরণস্বরূপ, প্রতিটি একক পাবলিক রেপো)
ডিজিওকো

0

কাঁটাচামচ করার পরিবর্তে, আপনি কেবল ওয়েব ইন্টারফেস ব্যবহার করে যে কোনও সর্বজনীনভাবে উপলব্ধ গিটহাব সংগ্রহস্থলটি আমদানি করতে পারেন:

  1. আপনার গিটল্যাব ড্যাশবোর্ড থেকে নতুন প্রকল্পে ক্লিক করুন
  2. আমদানি প্রকল্প ট্যাবে স্যুইচ করুন
  3. ইউআরএল বোতাম রেপো ক্লিক করুন
  4. "গিট সংগ্রহস্থল URL" এবং বাকি প্রকল্প ক্ষেত্রগুলি পূরণ করুন
  5. আমদানি প্রক্রিয়া শুরু করতে প্রকল্প তৈরি করুন ক্লিক করুন
  6. একবার সম্পূর্ণ হয়ে গেলে, আপনাকে আপনার নতুন নির্মিত প্রকল্পে পুনঃনির্দেশ করা হবে

এই কৌশলটি সম্প্রতি ব্যবহৃত হয়েছে এবং এটি গিটহাব অ্যাকাউন্ট ব্যতীত যে কোনও পাবলিক রিপোজিটরিতে কাজ করে। তথ্যের উত্সের জন্য এই গিটল্যাব ডক্স পৃষ্ঠাটি দেখুন ।


4
ঠিক আছে. এবং যদি গিটহাবের মূল ভাণ্ডারে নতুন কমিট যুক্ত করা হয়, তবে আমি কি গিটহাবের ভাণ্ডারগুলিতে পরিবর্তনগুলি একীভূত করতে পারি? এটি একটি কৌশলগত অপারেশন এবং সম্ভবত এটি কোনও মধ্যবর্তী সংগ্রহস্থল (প্রশ্নের শেষ অনুচ্ছেদ দেখুন) ব্যতীত করা যাবে না।
সিমলম্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.