গিট ব্যবহার করে সমস্ত বিদ্যমান সংগ্রহস্থল তালিকাভুক্ত করার উপায় আছে কি?


22

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


আপনি কি নিজের প্রশ্নের সম্পাদনার পরিবর্তে পৃথক উত্তর হিসাবে আপনার উত্তর পোস্ট করতে পারেন?
ম্যাটিউজ কোনিস্কনি

উত্তর:


8

আপনি গিট-ডেমন হোস্টিং মেশিনে শেল অ্যাক্সেসের প্রয়োজন হবে এবং গিট-ডেমন আহবান করতে ব্যবহৃত প্যারামগুলি দেখতে পারাবেন বা গিট ওয়েব নামে পরিচিত গিট ওয়েব ফ্রন্ট্যান্ড (রিপোজিটরি ব্রাউজার) ব্যবহার করতে পারেন ।

এই বিদ্যমান প্রশ্নটি উল্লেখ করুন

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

গিটউইব রিডএমএতে বিশদ ব্যাখ্যা করা হয়েছে - আগ্রহের কনফিগার কীটিকে "GITWEB_PROJECTROOT" বলা হয়:

GITWEB_PROJECTROOT The root directory for all projects shown by gitweb. Must be set correctly for gitweb to find repositories to display. See also "Gitweb repositories" in the INSTALL file for gitweb.

আপনার প্রশাসকদের সাথে আপনার কথা হতে পারে - গিটওয়েব সমস্ত বিকাশকারীদের পক্ষে দুর্দান্ত লাভ হতে পারে।

আমি যতদূর বলতে পারি, গিট-ডেমন চলমান মেশিনে এটি করা দরকার। গিট-ডেমন যেখানে ছিল সেগুলি আপনাকে আর্গুমেন্টগুলি পরীক্ষা করতে হবে, অথবা সম্ভবত /etc/inetd.conf পরীক্ষা করতে হবে


0

যেহেতু আমার কাছে দূরবর্তী মেশিনে শেল অ্যাক্সেস ছিল আমি একটি ছোট fabricস্ক্রিপ্ট লিখে শেষ করেছি যা টার্মিনাল থেকে সমস্ত দূরবর্তী সংগ্রহস্থলের তালিকা তৈরি করতে চালানো যেতে পারে:

#!/bin/python

from fabric.api import run, env
from fabric.colors import green 

env.hosts = ['<hostname>'];
env.user = '<user>';
env.password = '<password>';

def lr():
  "Lists all remote repositories"
  print(green("listing remote repos"))
  run('cd /var/git; ls -al')

আমি এখন টার্মিনাল থেকে নিম্নলিখিত কমান্ড জারি করে সমস্ত দূরবর্তী সংগ্রহস্থলের তালিকা করতে পারি:

fab lr

নোট করুন যে এই স্ক্রিপ্টটি অনুমান করে যে গিট সংগ্রহস্থলগুলি অবস্থিত /var/git। যদিও এটি সাধারণত হয় তবে এটি সর্বদা সত্য নয়।
ডেভ শেরোহমান

0

এই সংগ্রহস্থলগুলিতে কীভাবে অ্যাক্সেস করা হয় তার উপর এটি নির্ভরশীল, সুতরাং সত্যিকারের কোনও এক-আকারের-ফিট-সব উত্তর নেই:

  • যদি রেপোগুলি git-daemon/ এবং দ্বারা সরবরাহ করা gitwebহয় তবে আপনি কনফিগারেশনটি এটি কোথায় রেপো রাখে তা দেখতে এবং সেই ডিরেক্টরিটির বিষয়বস্তু তালিকাভুক্ত করতে পারেন।
  • যদি ssh এর মাধ্যমে repos অ্যাক্সেস করা হয়, তবে সেগুলি ফাইল সিস্টেমে যে কোনও জায়গায় অবস্থিত হতে পারে। সিস্টেমের সমস্ত ডিরেক্টরি অনুসন্ধান করে আপনি এটি সন্ধান করতে সক্ষম হবেন HEAD(উদাহরণস্বরূপ locate HEAD | grep \/HEAD$), তবে এটি মিথ্যা ধনাত্মকতা তৈরি করতে পারে এবং এটি এমন কোনও রেপোও প্রদর্শন করবে যা কেবলমাত্র স্থানীয় ওয়ার্কিং ডিরেক্টরি এবং ভাগ না করা বা ক্লোন করা হয়নি অন্য উত্স।
  • যদি রেপোগুলি গিটল্যাব দ্বারা পরিচালিত হয় তবে এগুলি মোটেও ফাইল সিস্টেমে নেই, তাই তাদের তালিকাভুক্ত করতে আপনাকে গিটল্যাব ওয়েব ইন্টারফেস ব্যবহার করতে হবে। মনে রাখবেন যে আপনার কাছে অ্যাক্সেসের অনুমতি না থাকলে কিছু তালিকা এই তালিকা থেকে গোপন করা যেতে পারে।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.