গিটল্যাবে একটি বিদ্যমান গিট প্রকল্প আমদানি করবেন?


147

আমার কাছে একটি গিটল্যাব ইনস্টলেশনের অ্যাকাউন্ট রয়েছে যেখানে আমি "ffki-startseite" সংগ্রহস্থল তৈরি করেছি

এখন আমি git://freifunk.in-kiel.de/ffki-startseite.gitসমস্ত প্রতিশ্রুতি এবং শাখা নিয়ে os ভান্ডারটিতে ভান্ডারটি ক্লোন করতে চাই , তাই আমি এটি আমার নিজস্ব সুযোগে কাজ শুরু করতে পারি।

আমি কীভাবে এটি আমদানি করতে পারি?


3
গিটল্যাবের একটি নতুন বৈশিষ্ট্য, প্রকল্প তৈরি করুন এবং তারপরে প্রকল্পের পৃষ্ঠায় যান। এখানে আপনি বেসিক নির্দেশাবলী দেখতে পাবেন।
মার্টিজ ভ্যান ওয়েজেল


গীতলবের নতুন সংস্করণগুলিতে প্রাথমিক নির্দেশাবলী চলে গেছে, যে কেউ তাদের অনুলিপি করেছেন তারা সেগুলি এখানে অনুলিপি করতে পারেন?
jdevora

উত্তর:


156

আমি আমার কম্পিউটারে স্থানীয়ভাবে চালিত নিম্নলিখিত কমান্ডগুলির মাধ্যমে সমস্ত প্রকল্প , শাখা এবং গিটলাবে ট্যাগগুলি সহ আমার প্রকল্পটি সম্পূর্ণরূপে রফতানি করতে সক্ষম হয়েছি:

আমার উদাহরণটি বর্ণনা করার জন্য, আমি গিটল্যাবে আমদানি করতে চাইলে উত্স সংগ্রহস্থল হিসাবে https://github.com/raveren/kint ব্যবহার করব। আমি আগেই গিটল্যাবে Kint(নেমস্পেসের নীচে raveren) নামে একটি খালি প্রকল্প তৈরি করেছি এবং এটি আমাকে নতুন নির্মিত প্রকল্পটির HTTP গিট ইউআরএলটি বলেছে http://gitlab.example.com/raveren/kint.git

কমান্ডগুলি হ'ল ওএস অগনোস্টিক।

একটি নতুন ডিরেক্টরিতে:

git clone --mirror https://github.com/raveren/kint
cd kint.git
git remote add gitlab http://gitlab.example.com/raveren/kint.git
git push gitlab --mirror

এখন আপনার যদি স্থানীয়ভাবে ক্লোন করা সংগ্রহস্থল থাকে যা আপনি নতুন রিমোটের সাথে ব্যবহার করতে চান, কেবল নীচের কমান্ডগুলি * সেখানে চালান:

git remote remove origin
git remote add origin http://gitlab.example.com/raveren/kint.git
git fetch --all

* এটি ধরে নিয়েছে যে আপনি আপনার রিমোট মাস্টারটির নাম পরিবর্তন করেননি origin, অন্যথায় এটি প্রতিফলিত করার জন্য প্রথম দুটি লাইন পরিবর্তন করুন।


1
এটি আমাকে ত্রুটি দেয়: রিমোট: গিটল্যাব: আপনাকে এই প্রকল্পের কোনও সুরক্ষিত শাখায় পুশ কোড জোর করার অনুমতি নেই। করতে 10.0.100.89:8496/project/james-project.git ! [রিমোট প্রত্যাখ্যান] মাস্টার -> মাস্টার (প্রাক-প্রাপ্ত হুক প্রত্যাখ্যান)
জেমস হিরশর্ন

4
এটি কাজ করতে আমাকে সেটিংস -> সংগ্রহস্থলে সুরক্ষিত শাখাগুলি বন্ধ করতে হয়েছিল।
জেমস হিরসকর্ন


108

আপনার বিদ্যমান সংগ্রহস্থলে নতুন গিটল্যাব রিমোট যুক্ত করুন এবং পুশ করুন:

git remote add gitlab url-to-gitlab-repo
git push gitlab master

আমি বল সঙ্গে ধাক্কা ছিল কারণ আমি ইতিমধ্যে gitLab চারপাশে fiddled: git push gitlab master -f। ) ধন্যবাদ; এখন আমি আমার নতুন GitLab সমস্ত করে দিয়ে পুরো রেপো আছে
rubo77

19
আপনার কি আয়না করার দরকার নেই? আপনার যদি মাস্টার ছাড়া অন্য শাখা থাকে?

7
হ্যাঁ, ওপি এর পরামর্শ অনুসারে কাজ করে আপনি সমস্ত শাখা (মাস্টার বাদে) এবং ট্যাগগুলি
হারাবেন

আপনি প্রকল্পটি তৈরি করার সময় গিটল্যাব প্রকল্প আমদানি কোনও URL থেকে দূরবর্তী রেপো লোড করবে। এসএনএন রেপো আমদানি করার জন্য নির্দেশাবলী অন্তর্ভুক্ত।
রিকফুসুসা

1
গিট রিমোট গিটল্যাব ইউআরএল-টু-গিতলব-রেপো গিট পুশ গিটল্যাব মাস্টার
সৌরভ

23

সমস্ত ট্যাগ এবং ব্রাঞ্চ রাখতে

এই কমান্ডটি কেবল একটিতে চালান existing Git repository

cd existing_repo
git remote rename origin previous-hosts
git remote add gitlab git@git.hutber.com:hutber/kindred.com.git
git push -u gitlab --all
git push -u gitlab --tags

সমস্ত শাখাগুলি অনুলিপি করবেন না
মার্টিজন ভ্যান ওয়েজেল

19

এখানে গিটলাব দ্বারা প্রদত্ত পদক্ষেপগুলি:

cd existing_repo
git remote rename origin old-origin
git remote add origin https://gitlab.example.com/rmishra/demoapp.git
git push -u origin --all
git push -u origin --tags

এটি কেবলমাত্র মাস্টারকে ধাক্কা দেবে এবং অন্যান্য শাখাগুলি নয়
এলকেনাং

18

এটি একটি বেসোর নতুন পদক্ষেপে একটি রেপো। আমি এই ক্রমটি সমস্ত সময় ব্যবহার করি। সঙ্গে --bare কোনো উৎস ফাইল দেখা যাবে।

ওপেন গিট ব্যাশ
ভান্ডারগুলির একটি খালি ক্লোন তৈরি করুন।

git clone --bare https://github.com/exampleuser/old-repository.git

নতুন সংগ্রহস্থলে মিরর-পুশ।

cd old-repository.git

git push --mirror https://github.com/exampleuser/new-repository.git

পদক্ষেপ 1-এ আপনি তৈরি অস্থায়ী স্থানীয় সংগ্রহস্থল সরান।

cd ../
rm -rf old-repository.git

আয়না কেন? গিটের ডকুমেন্টেশন দেখুন: https://git-scm.com/docs/git-push

- সমস্ত শাখা পুশ (যেমন রেফ / মাথা / অধীনে রেফ;); অন্যের সাথে ব্যবহার করা যাবে না।

--মিরর প্রতিটি রেফকে পুশ করার নামকরণের পরিবর্তে, রেফ / / এর অধীনে থাকা সমস্ত রেফগুলি (যেগুলি রেফ / হেডস / রিফ / রিমোটস / এবং রিফ / ট্যাগ / সীমাবদ্ধ নয়) দূরবর্তী সংগ্রহস্থলে মিরর করা উচিত। নতুন তৈরি স্থানীয় রেফগুলি দূরবর্তী প্রান্তে ঠেলে দেওয়া হবে, স্থানীয়ভাবে আপডেট হওয়া রেফগুলি রিমোট প্রান্তে জোর করে আপডেট করা হবে এবং মুছে ফেলা রিফগুলি দূরবর্তী প্রান্ত থেকে সরানো হবে। কনফিগারেশন বিকল্প রিমোট..মিরর সেট করা থাকলে এটি ডিফল্ট।


গিটলাবের পাশাপাশি কাজ করে!
তোয়ালে

12

রেক গিটল্যাব: আমদানি: ভর আমদানি করার জন্য আরও উপযুক্ত পদ্ধতি হতে পারে:

  • repos_path( /home/git/repositories/group/repo.git) এর অধীনে খালি সংগ্রহস্থলটি অনুলিপি করুন । ডিরেক্টরি নাম অবশ্যই .gitএকটি গ্রুপ বা ব্যবহারকারীর নেমস্পেসের মধ্যে থাকা উচিত।
  • চালান bundle exec rake gitlab:import:repos

মালিক প্রথম প্রশাসক হবে এবং ইতিমধ্যে বিদ্যমান না থাকলে একটি গোষ্ঠী তৈরি হবে।

আরও দেখুন: কীভাবে বিদ্যমান গিয়ার্ল্ড গিট সংগ্রহস্থলটি আমদানি করবেন?


যারা বিভ্রান্ত হতে পারেন তাদের জন্য, খালি সংগ্রহস্থল হ'ল সংগ্রহস্থল হ'ল সাধারনত কেন্দ্রীভূত স্থানে (যেমন গিথুব) জায়গায় থাকে যেটিতে সংগ্রহস্থলের গোড়ায় .git ফোল্ডার থাকে না। এটি কেবলমাত্র একটি সুবিধাজনক বিকল্প যদি আপনার সার্ভারে অ্যাক্সেস থাকে যেখানে খালি সংগ্রহস্থলটি সঞ্চিত থাকে। অন্যথায় @ রাভেরেনের উত্তর সেরা বিকল্প।
টিঙ্কারটেনারসফটওয়্যারগুই

4
git clone --mirror git@github.com:username/repo-name.git

git remote add gitlab ssh://git@servername.com/username/repo.git

git push -f --tags gitlab refs/heads/*:refs/heads/*

Ssh করে এটি করা ভাল, https কাজ করবে না


"https সম্ভবত কাজ করবে না" এটি সাধারণত জিনিস হয় না
মার্টিজন ভ্যান ওয়েজেল

এটি আসলে এমন একটি জিনিস যা এইচটিটিপি সংযোগগুলি অক্ষম হতে পারে। উত্তর করার জন্য ধন্যবাদ.
মীখা

2

সমস্যাগুলি, উইকি, মাইলস্টোনস, লেবেলগুলি, রিলিজ নোট এবং মতামত সহ গিটহাব থেকে গিটল্যাবে একটি প্রকল্প সরিয়ে নেওয়া

গিটল্যাব ডক্স সম্পর্কে একটি সম্পূর্ণ নির্দেশ রয়েছে:

https://docs.gitlab.com/ee/user/project/import/github.html

TL; ড

  • নিশ্চিত করুন যে আপনি গিটল্যাব ব্যবহারকারীদের কাছে ম্যাপ করতে চান এমন কোনও গিটহাব ব্যবহারকারী রয়েছে:

    • গিটল্যাব অ্যাকাউন্ট যা গিটহাব আইকনটি ব্যবহার করে লগ ইন করেছে - বা -
    • ইমেল ঠিকানা সহ একটি গিটল্যাব অ্যাকাউন্ট যা গিটহাব ব্যবহারকারীর পাবলিক ইমেল ঠিকানার সাথে মেলে
  • শীর্ষস্থানীয় নেভিগেশন বার থেকে, + ক্লিক করুন এবং নতুন প্রকল্প নির্বাচন করুন।

  • আমদানি প্রকল্প ট্যাব নির্বাচন করুন এবং তারপরে গিটহাব নির্বাচন করুন।
  • আপনার গিটহাব সংগ্রহস্থলগুলির তালিকা তৈরি করতে প্রথম বোতামটি নির্বাচন করুন। গিটল্যাব অ্যাপ্লিকেশনটি অনুমোদনের জন্য আপনাকে github.com এর একটি পৃষ্ঠায় পুনঃনির্দেশিত করা হয়েছে।
  • অনুমোদনের গীতলভকে ক্লিক করুন। আপনাকে গিটল্যাবের আমদানি পৃষ্ঠায় পুনঃনির্দেশিত করা হয়েছে এবং আপনার সমস্ত গিটহাব সংগ্রহস্থল তালিকাভুক্ত করা হয়েছে।
  • কোন আমদানি করতে হবে তা নির্বাচন করতে চালিয়ে যান।

তবে বিশদ এবং হুকগুলির জন্য দয়া করে গিটল্যাব ডক্স পৃষ্ঠাটি পড়ুন !

(এটা খুব বেশি না)


1

গিটল্যাব এই বৈশিষ্ট্যটিতে কিছুটা বগড। আপনার প্রকল্পটি যদি আরও বড় হয় তবে আপনি বিশেষ সমস্যা সমাধানে অনেক সময় হারাতে পারেন।

সেরা সমাধানটি তৈরি / আমদানি সরঞ্জামটি ব্যবহার করা হবে, আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড রাখতে ভুলবেন না, অন্যথায় এটি কিছুতেই আমদানি করবে না।

আমার স্ক্রিনশট অনুসরণ করুন

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.