গিটহাব থেকে বিটবকেটে যাওয়ার জন্য


160

আমি কেকপিএইচপি ভিত্তিক একটি প্রকল্পে কাজ করছি , এটি গিটহাবের হোস্ট করা । আমার প্রকল্পটি বিটবাকেটে হোস্ট করা হচ্ছে । দু'জনেই গিট ব্যবহার করেন । মূলত আমি একটি 'কাঁটাচামচ' (আমি ডান পদ ব্যবহার করছি জানি না, যেহেতু আমি নতুন নই তৈরি করতে চান তা Git আপডেট পেতে পাবে আমার Bitbucket সংগ্রহস্থলের মধ্যে CakePHP এর), যাতে সমস্ত কেকপিএইচপি জিপ / টার ডাউনলোড করার প্রয়োজন নেই এবং ফোল্ডারটি প্রতিস্থাপন করুন, তারপরে কমিট করুন এবং পুশ করুন, তবে সম্ভবত 'মার্জ' (?) দিয়ে।


5
এই ধরণের কর্মপ্রবাহের জন্য ভাল পদ্ধতির জন্য স্ট্যাকওভারফ্লো.com/ প্রশ্নগুলি / 1811730/… দেখুন ।
ডলবজ

@ ডলবজ আমার কাছে যা প্রয়োজন তা ঠিক মনে হচ্ছে, ধন্যবাদ!
এনট্রপিড

উত্তর:


143

আজ বিভিন্ন সাইট জুড়ে "পুল অনুরোধ" পাঠানো সম্ভব নয় not আমি এর জন্য বিটবুকিট ইস্যু ট্র্যাকারে একটি বৈশিষ্ট্য অনুরোধ যুক্ত করেছি: # 3288 । আপনি যদি এটি ট্র্যাক করতে চান তবে আপনাকে নিজেকে অনুসরণকারী হিসাবে যুক্ত করার পরামর্শ দিচ্ছি।

তবে, আপনি কোনও জিপ ফাইল বা টারবলগুলি ডাউনলোড না করেই গিটহাব থেকে বিটবকেটে উত্স সরিয়ে নিতে পারেন। আপনি গিটহাব থেকে একটি ক্লোন তৈরি করে বিটবকেটে চাপ দিন:

$ git clone https://github.com/cakephp/cakephp
$ cd cakephp
$ git push git@bitbucket.org:mg/cakephp.git master

আমি mg/cakephpপ্রথমে বিটবকেটে একটি খালি গিট সংগ্রহস্থল হিসাবে তৈরি করেছি । এইভাবে আপনি গিটহাব থেকে বিটবকেটে চেঞ্জসেটগুলি ধাক্কা / টানতে পারেন।


3
তাহলে কীভাবে আমরা উজান থেকে টানতে পারি?
রুচির শুক্লা

1
@ রুচিরশুকলা: মূলত: একইভাবে। আপনার আপস্ট্রি থেকে টানতে আপনাকে নিজের মেশিনের মাধ্যমে কমিটগুলি সরিয়ে নিতে হবে। তারপরে আপনি এটিকে অন্য হোস্টিং সাইটটিতে চাপ দিন, যার ফলে দু'টি সিঙ্ক্রোনাইজ করা হচ্ছে।
মার্টিন গিজার

4
cd cakephpদু'টি কমান্ডের মধ্যে আমার দরকার না বাদে এটি আমার পক্ষে দুর্দান্ত কাজ করেছে । অ-শুরুর জন্য স্পষ্টতই হ্যাঁ, তবে এটি কেন কাজ করছে না তা শিখতে শুরু করতে পারে।
aaronbartell

আপনি এটির ইউটিউব ভিডিও বানাতে পারেন? আমি এটির প্রতিলিপি করতে পারি না। আমি এই নির্দেশাবলী করতে সক্ষম হয়েছি কিন্তু আমি যখন চাপ এবং প্রতিশ্রুতিবদ্ধ তখন এটি কাঁটা শাখার পরিবর্তে মাস্টারের কাছে এটি চাপানোর চেষ্টা করে।
মোম

এটি একটি হিসাবে কাজ করে না fork। শাখা এবং ট্যাগগুলি বিটবকেটে অনুলিপি করা হয় না।
জোয়েল করুণুনগান

81

নীচের কর্মপ্রবাহটি গিথুব সংগ্রহস্থলকে নতুন নতুন রিমোট নামে syncএবং বিটবাকেট রিমোট হিসাবে যুক্ত করে origin। এটি গিথুব সংগ্রহস্থলগুলি ট্র্যাক করার জন্য githubডাকা একটি শাখা masterএবং বিটবাকেট সংগ্রহস্থলগুলি ট্র্যাক করার জন্য ডাকা একটি শাখাও যুক্ত করে। এটি ধরে নিয়েছে যে আপনার কাছে "মাইরেপোসিটিরি" নামে একটি বিটবাকেট সংগ্রহস্থল রয়েছে যা খালি।

রিমোট সেটআপ করুন

# setup local repo
mkdir myrepository
cd myrepository
git init

# add  bitbucket remote as "origin"
git remote add origin ssh://git@bitbucket.org/aleemb/myrepository.git

# add github remote as "sync"
git remote add sync https://github.com/aleemb/laravel.git

# verify remotes
git remote -v
# should show fetch/push for "origin" and "sync" remotes

শাখা সেটআপ করুন

# first pull from github using the "sync" remote
git pull sync

# setup local "github" branch to track "sync" remote's "master" branch
git branch --track github sync/master

# switch to the new branch
git checkout github

# create new master branched out of github branch
git checkout -b master

# push local "master" branch to "origin" remote (bitbucket)
git push -u origin master

এখন আপনার githubকাছে গিথুব রেপো শাখার স্থানীয় শাখা ট্র্যাক করা উচিত master। এবং আপনার কাছে স্থানীয় masterশাখা বিটবাকেট রেপো ট্র্যাক করা উচিত ( masterডিফল্টরূপে শাখা)।

এটি githubশাখায় একটি টান করা সহজ করে তোলে , তারপরে সেই পরিবর্তনগুলিকে masterশাখায় মার্জ করুন (যদিও মার্জ করার চেয়ে পছন্দসই রিবেস করুন) এবং তারপরে আপনি masterশাখাটি টিপতে পারেন (এটি বিটবাকেটে ঠেলে দেবেন)।


এটি কাজ করছে বলে মনে হচ্ছে না তবে এটি একটি ভাল ধারণা। যাইহোক এটি কাজ করতে এটি ঠিক করতে?
বোজডোজ

স্থানীয় গিথুব শাখা দূরবর্তী গিথুব মাস্টার শাখা ট্র্যাক করে, তবে আপনি কি রিমোট বিটবাকেট মাস্টারের দিকে ধাক্কা দেন? গিথুব-এ ধাক্কা কখন আসে? @ আলেম্ব
বোজডোজ

1
গিট 2.2.1 এ --set-upstream এ করা হয়েছে ... তবে githubএটি আপস্ট্রিম রেপো সেট করার চেষ্টা করার আগে আপনি যতক্ষণ শাখা তৈরি করবেন ততক্ষণ এটি কাজ করে ।
কেন যুবরাজ

3
পরিবর্তে --set-upstream do: git fetchএবংgit branch --track github sync/master
বিউডিন গ্রিভ করুন

3
আমি মনে করি যা অনুপস্থিত তা হ'ল git checkout githubএবং git checkout -b masterগিট শাখা কমান্ডের পরে। আপনি সেই শাখাগুলি সমাপ্ত করবেন ( git branch -a): গিথুব, মাস্টার, রিমোটস / উত্স / মাস্টার, রিমোটস / সিঙ্ক / মাস্টার
ক্লেম্যানস জ্লেপটনিগ

31

আপনি যদি আপনার রেপো টু ডেট রাখতে চান তবে দুটি রিমোট ব্যবহার করুন: upstreamগিথুব ( origin) এবং বিটবকেট ( ) এর মতো:

# Clone original CakePHP source code from Github
git clone --mirror https://github.com/cakephp/cakephp
cd cakephp
# Rename remote from `origin` to `upstream`
git remote rename origin upstream
# Add your Bitbucket repo (this is where your code will be pushed)
git remote add origin https://bitbucket/your/repo.git
# Push everything to Bitbucket
git push --mirror origin

গিথুব থেকে কেকপিএইচপি আপডেট আপডেট করতে:

git pull upstream master

আপনার কোড পরিবর্তনগুলি বিটবাকেটে ঠেলাতে:

git push origin master

আমি মনে করি আপনি প্রথম কমান্ডে `গিট ক্লোন মাইবিটিবুকিট / কেকএফপি / কেকএফপি meant বুঝিয়েছেনgit , তাই না? এই পথেই যেতে হবে ....
ribamar

এটা ঠিক দুর্দান্ত! অসংখ্য ধন্যবাদ! অনেক প্রশংসা করা হয়েছে
আকানশা

এটিও কাজ করে না। শাখা এবং ট্যাগগুলি বিটবকেটে অন্তর্ভুক্ত নয়।
জোয়েল করুণুনগান

@ জোয়েলকারুনুনগান ভাল পয়েন্ট! শাখা এবং ট্যাগ সহ ধাক্কা সবকিছু থেকে, আমি মনে করি এই কাজ করা উচিত: git push --all --mirror origin। উত্তর আপডেট হয়েছে।
জুবিন

@ জুবিন আপনি কি এটি চেষ্টা করেছেন? fatal: --all and --mirror are incompatible এছাড়াও: git pull upstream masterমারাত্মক ত্রুটি ছুড়ে দেয়। fatal: Couldn't find remote ref master
জোয়েল করুণুনগান

15

বিটবাকেটে নতুন সংগ্রহস্থল তৈরি করার সময়, বোতামটি ক্লিক করুন Import repository করার সময় উপরের ডানদিকে । আপনি যে Clone or downloadভাণ্ডারটি কাঁটাতে চান তা গিথুব-এ ক্লিক করার সময় পাওয়া https url লিখুন Enter

আপনার ভাণ্ডারগুলিকে একটি নাম দিন, আপনার গোপনীয়তা সেটিংস কনফিগার করুন এবং আপনি সেখানে যান!


1
এটি ক্লোনিং, কাঁটাচামচ নয়, যা আলাদা জিনিস।
এনট্রোপড

7
বৈশিষ্ট্যটি এখন পর্যন্ত বিটবাকেটে 'আমদানি সংগ্রহস্থল' লেবেলযুক্ত।
ওয়াইল্ড পটোক

1
@ এন্ট্রপিড একটি কাঁটাচামচ হ'ল মূল রেপোর ক্লোন। গিট ওয়ার্ল্ডে, ফোর্কিং == ক্লোনিং
enorl76

@ enorl76 বিশেষত এটি সাধারণভাবে ব্যবহারের ক্ষেত্রে আসে না।
রিগ

2
@ enorl76 হ্যাঁ প্রযুক্তিগতভাবে এটি। তবে কাঁটাচামচটি ক্লোনটিকে মূল সংগ্রহস্থলের সাথে "সংযুক্ত" রাখার একটি উপায় যাতে এটি থেকে আপডেট পেতে এবং অবশেষে এটির দিকে চাপ দেয়। এখানেই 'উত্স' এবং 'উজানের' লিঙ্কগুলির সংমিশ্রণ একটি মৌলিক ভূমিকা পালন করতে আসে। গিথুব এবং বিটবকেট তারপরে কাঁটাচামচকে আরও উত্পাদনশীল এবং বন্ধুত্বপূর্ণ করার জন্য প্রবাহের চারপাশে সমস্ত সরঞ্জামের একটি সেট তৈরি করেছিল, যেমন "পুশ রিকুয়েস্ট" জিনিসটির মতো :)
ড্যান নিয়েরো

1

আমি লক্ষ্য করেছি যে @ মার্টিন গিজলারের উত্তর থেকে, বিটবুকিট গিথুব ডটকম থেকে সংগ্রহশালা আমদানিতে একটি বৈশিষ্ট্য সক্ষম করেছে

আমি gitub.com থেকে বিটবুককেট.অর্গ.এর একটি বেসরকারী রেপোতে সফলভাবে একটি ব্যক্তিগত রেপো আমদানি করতে সক্ষম হয়েছি

পদক্ষেপ এখানে :

  1. তৈরি বোতামে ক্লিক করুন এবং সংগ্রহস্থল ('+'> সংগ্রহস্থল) নির্বাচন করুন
  2. এখন পরিবর্তে একটি নতুন সংগ্রহশালা তৈরি করুন উপরে ডান দিকের কোণ থেকে একটি আমদানি সংগ্রহ নির্বাচন করুন।
  3. সংগ্রহস্থল আমদানির জন্য নতুন মডেলে আপনার গিথুব রেপির URL এবং আপনার প্রমাণীকরণের শংসাপত্রগুলি পূরণ করুন।
  4. এটাই. সমস্ত কিছুই সহজেই গিথুব থেকে বিটবাকেটে আমদানি করে।

স্ক্রিনশটের ডান উপরের কোণে আমদানি সংগ্রহস্থল লিঙ্কটি নোট করুন


0

আমি অনুমান করছি আপনি কেবল আপনার প্রকল্পের সাথে সহজেই সংগ্রহস্থলটি ডাউনলোড করতে চান ... এবং আপনি কেক পিএইচপি অবদান রাখবেন না, ঠিক?

যদি তা হয় তবে আপনার রেপোতে আপনাকে কেবল একটি বাহ্যিক রেফারেন্স যুক্ত করতে হবে।

এসভিএন: জিআইটিতে বহিরাগত সমান?

এবং পরে, আপনি কেক পিএইচপিতে অবদান রাখতে চাইলেও, আপনি কেবল মূল রেপোতে ঠিক এটি করতে পারেন।

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