আমি কীভাবে মার্চুরিয়ালে রিমোট রিপোজিটরিগুলি যুক্ত করতে পারি?


100

আমি নিম্নলিখিত উপায়ে গিট সংগ্রহস্থলগুলির সাথে কাজ করছি:

  • আমার কাছে বিভিন্ন প্রোডাকশন মেশিনে মাস্টার সংগ্রহস্থল এবং কয়েকটি রিমোট রয়েছে।
  • আমি পরিবর্তন কোডটি রিমোটগুলিতে চাপছি এবং পরিবর্তনগুলি কার্যকর হওয়ার জন্য পরিষেবাগুলি পুনরায় চালু করব।

আমি গিট থেকে মার্চুরিয়ালে স্যুইচ করতে চলেছি এবং আমি কীভাবে কীভাবে এমন কিছু অর্জন করতে পারি তা জানতে চাই।

উত্তর:


130

আপনি [paths]আপনার স্থানীয় ক্লোনোর .hg/hgrcফাইলটির বিভাগে এন্ট্রি যুক্ত করুন। এখানে এমন একটি বিভাগের উদাহরণ রয়েছে যা .hg/hgrcফাইলটিতে যাবে:

[paths]
remote1 = http://path/to/remote1
remote2 = http://path/to/remote2

তারপরে hg push remote1আপনি সেই রেপোতে চেঞ্জসেট প্রেরণের মতো কমান্ড ব্যবহার করতে পারেন । যদি আপনি চান যে দূরবর্তী রেপো আপডেট করার জন্য ডিরেক্টরি কাজ করছে তবে আপনাকে changegroupসেই দূরবর্তী অবস্থানে একটি হুক লাগাতে হবে যা একটি আপডেট করে। এটি দেখতে কিছু হবে:

[hooks]
changegroup = hg update 2>&1 > /dev/null && path/to/script/restart-server.sh

প্রত্যেকে রিমোট রেপোস দেওয়ার খুব বড় ভক্ত নয় স্বয়ংক্রিয়ভাবে ধাক্কা দেওয়ার জন্য তাদের কার্যকরী ডিরেক্টরিগুলি আপডেট করে এবং এটি অবশ্যই ডিফল্ট নয়।


23
যে কেউ কেবল রিমোটগুলি ব্যবহারের জন্য দেখতে hg pathsসমতুল্য git remote -v
কিও

5
ডিফল্ট-পুশ (উদাহরণস্বরূপ রিমোট 1 এর পরিবর্তে) একজনকে "hg পুশ" টাইপ করতে সক্ষম করে। এরপরে ডিফল্ট-পুশ সংগ্রহস্থলটি ব্যবহৃত হয়। খুব উপকারী.
খ্রিস্টান

6
@ ক্রিশ্চিয়ান default-pushকেবল তখনই প্রয়োজনীয় / দরকারী যদি আপনার সাধারণ ধাক্কা লক্ষ্য আপনার স্বাভাবিক টান উত্স থেকে পৃথক হয়। যদি সেগুলি একই হয় (বা আপনি কখনই defaultটানবেন না) তবে যথেষ্ট।
Ry4an ব্রাস

4
শুধু আরও বেশি এই সম্পর্কে যোগ করার জন্য: আপনি উভয় আছে যদি default-pushএবং defaultআপনার কনফিগ ফাইলে, তারপর প্রথম ধাক্কা প্রয়োজন এবং ব্যবহার করা হবে টান থেকে আধুনিক। আপনি যদি একই দূরবর্তী রেপো থেকে ধাক্কা দিতে এবং টানতে চান (যা আপনি সম্ভবত মেকুরিয়ালকে কেন্দ্রের মতো ব্যবহার করছেন) তবে কেবল defaultফাইলটিতে রেখে দিন। এটি খুব শীতল হবে যদি তারা প্রথম ধাক্কায় কেবল এটি করার জন্য একটি সামান্য কমান্ড লাইন বিকল্প যুক্ত করে ... (বা সম্ভবত আমি একজন সিভিএস ব্যক্তি খুব বেশি ;-))
টিকটাক

আমার ম্যাকে মার্কুরিয়াল v2.6.2 ইনস্টল আছে এবং পাথগুলি সেট করার জন্য ফাইলটি রয়েছে .hg/hgrc(ফাইলটির নামের আগে কোনও ডট নেই)।
রেজিস জালেম্যান

9

আপনি যদি ডিফল্ট পাথ যোগ করতে চান তবে defaultআপনার ~project/.hg/hgrcফাইলটিতে কাজ করতে হবে। নিম্নরূপ:

[paths]
default = https://path/to/your/repo

শুভকামনা


5

আপনি এইচজি-গিট গিটহাব প্লাগইনটি দেখতে পারেন :

hg-git সাধারণ ধারণা

মার্কুরিয়াল থেকে গিট সার্ভারের সংগ্রহস্থল থেকে চাপতে এবং টানতে সক্ষম হওয়া।
এর অর্থ আপনি মার্চুরিয়াল থেকে গিট ভিত্তিক প্রকল্পগুলিতে সহযোগিতা করতে পারেন, বা গিট এবং মারকুরিয়াল উভয় ব্যবহার করে বিকাশকারীদের সাথে একটি দলের সহযোগিতা পয়েন্ট হিসাবে একটি গিট সার্ভার ব্যবহার করতে পারেন।

দ্রষ্টব্য: আমি সেই সরঞ্জামটি মার্কুরিয়ালের সর্বশেষ সংস্করণগুলির সাথে পরীক্ষা করিনি।


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

4
^ ক্রিস: আপনার প্রশ্নটিও: আমি কীভাবে গিট রেপোসকে মার্চুরিয়ালের সাথে রূপান্তর করব? ", বা" কীভাবে ঘোষণা করতে পারি / রিমোট এইচজি রেপো সেট করতে হয়? "(যেমন সুপারউজার.com/উকশনস / 68৩6866/২ তে ), বা" যেখানে একটি এইচজি-তে রিমোট ঘোষিত হয়? "( ক্রেথিংঙ্কিং.ওয়ার্ডপ্রেস
২০০৯

0

আপনি যদি ইউনিক্সে থাকেন এবং আপনার গিট ইনস্টল করা থাকে তবে আপনি টেক্সট এডিটর ছাড়াই রিমোটগুলিতে সহজেই একটি পথ জুড়তে এই ব্যাশ ফাংশনটি ব্যবহার করতে পারেন:

add-hg-path() {
    git config -f $(hg root)/.hg/hgrc --add paths.$1 $2
    awk '{$1=$1}1' $(hg root)/.hg/hgrc > /tmp/hgrc.tmp
    mv /tmp/hgrc.tmp $(hg root)/.hg/hgrc
}

তারপরে এটিকে অনুরোধ করুন:

$ add-hg-path remote1 https://path.to/remote1

যদি কেউ পাওয়ারশেল সমতুল্য তৈরি করতে চান তবে আমি সেটিকেও অন্তর্ভুক্ত করতে চাই। অন্যান্য সম্ভাবনা উন্নতি কল আউট পরামিতি উপর ত্রুটি পরীক্ষা এবং ফ্যাক্টরিং অন্তর্ভুক্ত $(hg root)

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