বেয়ার হাড় ব্রাউজার
git instaweb --httpd=webrick
থেকে Git এস সি এম বই
এটিকে বিতরণের বিকাশের জন্য এখানে বর্ণিত পদ্ধতির মতো সংযুক্ত করুন ( ভাল বর্ণিত ধারণার জন্য ডেটাগ্রোকের ক্রেডিট )
যে কোনও স্থানীয় সংগ্রহস্থল থেকে ওয়ান-অফ গিট সার্ভার চালু করুন।
আমি এটি ইতিমধ্যে টুইট করেছি তবে আমি ভেবেছিলাম এটি কিছু বিস্তৃতি ব্যবহার করতে পারে:
বিকেন্দ্রীভূত গিট ওয়ার্কফ্লো সক্ষম করুন: গিট কনফিগার নাম ওরফেজার্ভ
বলুন যে আপনি একটি গিট ওয়ার্কফ্লো ব্যবহার করেন যা এমন একটি "অফিসিয়াল" রিপোজিটরির সাথে কাজ করে যা আপনি নিজের পরিবর্তনগুলি এখান থেকে টানেন এবং প্রবেশ করেন। আমি নিশ্চিত যে গিথুবের মতো গিট হোস্টিং পরিষেবাদির অনেক ব্যবহারকারীর মতো অনেক সংস্থা এটি করে।
সেই সার্ভারটি বা গিথুবটি কিছুটা ডাউন হয়ে যান Say
কোনও উদ্বেগ নেই, সর্বোপরি, আপনি গিট ব্যবহার করার অন্যতম কারণ হ'ল আপনার স্থানীয় ক্লোনটিতে পুরো প্রকল্পের ইতিহাসের একটি অনুলিপি রয়েছে।
আপনি কোডিং এবং প্রতিশ্রুতিবদ্ধ রাখতে চালিয়ে যেতে পারেন, অপারেশন টিমের জন্য যখন সার্ভারটি আবার প্রাণবন্ত করার জন্য অপেক্ষা করছেন। স্বরে নোট করুন: অপারেশন দলের জন্য ডোনাট কিনুন।
তবে কী, যদি এই ডাউনটাইম চলাকালীন, আপনি অন্য কোনও ব্যক্তির সাথে, যিনি গিট বিশেষজ্ঞ নাও হতে পারেন, একই সংগ্রহস্থলের সাথে সহযোগিতা করতে চান?
অথবা, ডাউনটাইমের পরিবর্তে, যদি আপনি এবং আপনার সহযোগী মাঠে থাকেন এবং কোনও কারণে আপনি আপনার ভিপিএন পেতে না পারেন তবে আপনাকে আপনার অফিসিয়াল রেপোতে সংযোগ করতে দেবেন?
অথবা, আপনি এবং আপনার সহযোগী যদি পরীক্ষামূলক পরিবর্তনগুলি একত্র করে চলেছেন এবং আপনার অ্যাক্সেস থাকা সত্ত্বেও, আপনি কি আপনার অসম্পূর্ণ জগাখিচু অফিসিয়াল কেন্দ্রীয় ভান্ডারটিতে ঠেলাতে চান না? (এমনকি বৈশিষ্ট্যযুক্ত শাখা হিসাবেও নয়)) সম্ভবত আপনি একটি বিপর্যয়কর রিবেস পরিষ্কার করতে বা মার্জ করার মাঝখানে রয়েছেন এবং শাখাগুলি পুরো জায়গা জুড়ে রয়েছে।
ঠিক আছে, গিট যেমন আপনি সম্ভবত সচেতন, এটি একটি "বিতরণ করা" সংস্করণ নিয়ন্ত্রণ ব্যবস্থা ।
যদিও আপনি আপনার কার্যপ্রবাহে একটি কেন্দ্রীয় "অফিসিয়াল" গিট সংগ্রহস্থল ব্যবহার করতে পারেন, তবুও আপনার কাছে পিট-টু পিয়ার পদ্ধতিতে গিটটি ব্যবহার করার দক্ষতা রয়েছে যেখানে আপনি এবং আপনার সহযোগী কেবল একে অপরের সাথে চুক্তি তৈরি এবং ভাগ করে নিতে পারেন এবং কেন্দ্রীয় সার্ভার এমনকি জানতে হবে না।
সুতরাং, আপনি কীভাবে আপনার শাখাগুলি পাবেন এবং তাদের কাছে প্রতিশ্রুতিবদ্ধ বা এর বিপরীতে?
- আপনি ই-মেইলিং প্যাচগুলির জন্য গিটের সুবিধা ব্যবহার করতে পারেন। তবে এটি কিছুটা অবহেলিত এবং কীভাবে ই-মেইল করা প্যাচগুলি প্রয়োগ করা যায় সে সম্পর্কে তাদের কিছুটা জ্ঞান প্রয়োজন।
- আপনার সহযোগীটি এতে প্রবেশ করার জন্য আপনি নিজের মেশিনে একটি অ্যাকাউন্ট তৈরি করতে পারেন। তবে সম্ভবত আপনার কাছে স্থানীয় রুট অ্যাক্সেস নেই, অথবা আপনি আপনার বক্সে এসএসএইচ অ্যাক্সেস নিয়ে তাদের বিশ্বাস করবেন না।
- আপনি আপনার রেপো একটি থাম্বড্রাইভের উপরে ক্লোন করে পিছনে পিছনে যেতে পারতেন। তবে এটি বরং ক্লান্তিকর, বিশেষত যদি আপনি একই স্থানীয় নেটওয়ার্কে থেকে থাকেন এবং আপনার একটি থাম্ব ড্রাইভ প্রয়োজন।
আপনি সম্ভবত অন্যান্য পদ্ধতিগুলি সম্পর্কেও ভাবতে পারেন। তবে একটি দুর্দান্ত সহজ উপায় রয়েছে: আপনি যদি একে অপরকে নেটওয়ার্কে দেখতে পান তবে আপনি একটি অফ-গিট সার্ভার চালু করতে পারেন যা তারা তাদের রিমোট হিসাবে ক্লোন, আনার জন্য এবং আপনার পরিবর্তনগুলি টানতে ব্যবহার করতে পারে এবং আপনি যখন এটি হত্যা করবেন তখন এটি দিয়ে সম্পন্ন।
যে সরঞ্জামটি এটি সক্ষম করে তা হ'ল এতে git daemonপ্রচুর বিকল্প এবং কার্যকারিতা রয়েছে তবে এই সহজ ওয়ান-অফটি সক্ষম করার উদ্দেশ্যে "কেবলমাত্র আমি যে রেপোতে আছি সেগুলি পরিবেশন করুন" এটির ব্যবহারের উপায়টি একটি উপাসনা তৈরি করা। আমি এটি কল করতে চান git serve। চালান:
git config --global alias.serve "daemon --verbose --export-all --base-path=.git --reuseaddr --strict-paths .git/"
একটি উপনাম ব্যবহার করা আসলে গুরুত্বপূর্ণ, কারণ গিট এলিয়াসগুলি আপনার কার্যকারী গাছের বেস ডিরেক্টরিতে কার্যকর করা হয়। সুতরাং '.git' পাথটি সর্বদা সঠিক জায়গায় নির্দেশ করবে, আপনি যেখানে আপনার সংগ্রহস্থলের ডিরেক্টরি গাছের মধ্যেই থাকুন না কেন।
আপনার git serveমত নতুন ব্যবহার করুন :
- চালান
git serve। "গোলমাল করার জন্য প্রস্তুত," এটি রিপোর্ট করবে। গিট খারাপ পাছা।
- আপনার আইপি ঠিকানাটি সন্ধান করুন। বলুন এটি 192.168.1.123।
- "আরে জেন বলুন, আমি এই প্রতিশ্রুতিগুলি উত্সাহিত করতে প্রস্তুত / সক্ষম নই, তবে আপনি চালিয়ে আমার প্রতিশ্রুতিগুলি আপনার ক্লোনটিতে আনতে পারেন
git fetch git://192.168.1.123/"
- আপনি আর আর সেই রেপো আর পরিবেশন করতে না চাইলে ctrl + c টিপুন।
আপনি জেনকে বলতেও পারতেন git clone git://192.168.1.123/ local-repo-nameযদি তার কাছে এখনও ভান্ডারটির ক্লোন নেই। বা, git pull git://192.168.1.123/ branchnameআপনি একটি বৈশিষ্ট্য শাখায় একসাথে কাজ করছেন যদি দরকারী, একবারে আনতে এবং একত্রে মার্জ করার জন্য ব্যবহার করুন।
তবে মনে রাখবেন যে আপনার ভাণ্ডারগুলিতে গোপনীয়তা রাখলে বৈরী নেটওয়ার্কগুলিতে আপনার এটি করা উচিত নয়, কারণ কোনও প্রমাণীকরণ নেই। এটি এর অস্তিত্বের বিজ্ঞাপন দেয় না, তবে এএ পোর্ট স্ক্যানার সহ যে কেউ এটি খুঁজে পেতে পারে, এর সাথে সংযুক্ত হতে পারে এবং আপনার রেপো ক্লোন করতে পারে।
তবে এটি অতি বিপজ্জনক নয় কারণ এটি কেবলমাত্র ডিফল্টরূপে পঠনযোগ্য। git daemonআপনি যদি মনে করেন যে আপনি লেখার অ্যাক্সেস সক্ষম করতে চান তবে সাবধানতার সাথে ম্যান পৃষ্ঠাটি পড়ুন । আপনি যেখানে আপনার সহযোগীর প্রতিশ্রুতিগুলি পেতে চান সেখানে এটি কেবল পঠনযোগ্য রেখে দেওয়া আরও নিরাপদ এবং আপনার সহযোগীকে এই আদেশটি চালাতে বলুন, যাতে আপনি সেগুলি থেকে টানতে পারেন।
স্পর্শকাতরভাবে সম্পর্কিত: ওয়ান-অফ সার্ভারের বিষয়ে, আপনি যদি অস্থায়ীভাবে এইচটিটিপি-র মাধ্যমে স্থির ফাইলগুলির একটি গুচ্ছ ভাগ করতে চান: python -m SimpleHTTPServer