উইন্ডোজ গিটিং সংগ্রহস্থল হোস্টিং


108

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

git daemon

গিট পরিষেবাটি হোস্ট করার জন্য কী কোনও দেশীয় উইন্ডোজ বিকল্প নেই, ভাগ করে নেওয়া ফোল্ডারগুলির সংক্ষিপ্তসার রয়েছে?

সম্পাদনা: আমি বর্তমানে উইন্ডোজে গিট সংগ্রহস্থল সংরক্ষণ এবং কাজ করার জন্য গিটের সাইগউইন ইনস্টলটি ব্যবহার করছি তবে অন্যের অ্যাক্সেস সরবরাহ করতে পারে এমন একটি পরিষেবা সহ একটি সংগ্রহস্থল হোস্ট করার পরবর্তী পদক্ষেপটি গ্রহণ করতে চাই।


35
আমার বর্তমান নিয়োগকর্তার কোনও ইউনিক্স বা লিনাক্স মেশিন নেই ... একই সাথে একটি নতুন উত্স নিয়ন্ত্রণ সরবরাহকারী এবং অপারেটিং সিস্টেম আনয়ন কিছুটা ট্রমাজনিত হতে পারে।
জেফ ফ্রিটজ

1
গিট-ডেমন নিয়ে কী সমস্যা? আফাইক এটি উইন্ডোজে ঠিক কাজ করে।
অ্যারিস্টটল পাগাল্টজিস

10
উইন্ডোজের জন্য স্ট্যান্ডার্ড এমএসএসজিট ইনস্টলার ব্যবহার করে গিট ইনস্টল করা ইনস্টল হতে দেখা যাচ্ছে না git daemon। : \
টিম দর্শক

1
এখানে একটি বান্ডিলযুক্ত কপএসএসএইচ এবং এমএসএসজিট ইনস্টলার রয়েছে যা আপনি দেখতে চাইতে পারেন। এটি সর্বজনীন কী প্রমাণীকরণ ব্যবহার করে এবং এটি সহজ করে তোলে। দাবি অস্বীকার: আমি ওয়েবমাস্টার - সুরক্ষিত গিট সার্ভার স্থাপনের বিষয়ে টিম ডেভিসের টিউটোরিয়ালটি পড়ে
লিলিথ নদী

3
রেকর্ডের জন্য: উইন্ডোজের উইন্ডোজে উইন্ডোজের গিটার ডেমন একটি ভার্সন সংস্করণ অন্তর্ভুক্ত করেছে সংস্করণ 1.7.4 থেকে (ফেব্রুয়ারী ২০১১ প্রকাশিত)। তাই সাইগউইনের আর দরকার নেই। আরও দেখুন stackoverflow.com/q/5186070/291641
patthoyts

উত্তর:


75

উইন্ডোজের অধীনে গিট ডিমনটি চালাতে আপনি কয়েকটি পদক্ষেপ অনুসরণ করতে পারেন:

(পূর্বশর্ত: একটি ডিফল্ট সাইগউইন ইনস্টলেশন এবং গিট ক্লায়েন্ট যা গিট ডিমনকে সমর্থন করে)

পদক্ষেপ 1 : একটি ব্যাশ শেল খুলুন

পদক্ষেপ 2 : ডিরেক্টরিতে / সাইগড্রাইভ / সি / সাইগউইন 64৪ / / ইউএসআর / লোকাল / বিন / নিম্নলিখিত লিখিত সামগ্রীতে "গিটড" নামে একটি ফাইল তৈরি করুন:

#!/bin/bash

/usr/bin/git daemon --reuseaddr --base-path=/git --export-all --verbose --enable=receive-pack

পদক্ষেপ 3 : একটি স্ক্রিপ্টটি পরিষেবা হিসাবে ইনস্টল করতে একটি উন্নত প্রম্পট (যেমন অ্যাডমিন হিসাবে) থেকে নিম্নলিখিত সাইগরুনসরভ কমান্ডটি চালান (দ্রষ্টব্য: ধরে নিন সিগুইন সি তে ইনস্টল করা হয়েছে: g সাইগউইন 64):

cygrunsrv   --install gitd                          \
            --path c:/cygwin64/bin/bash.exe         \
            --args c:/cygwin64/usr/local/bin/gitd   \
            --desc "Git Daemon"                     \
            --neverexits                            \
            --shutdown

পদক্ষেপ 4 : পরিষেবাটি শুরু করতে নিম্নলিখিত কমান্ডটি চালান:

cygrunsrv - স্টার্ট gitd

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

#!/bin/bash

echo "Creating main git repo ..."
mkdir -p /git/testapp.git
cd /git/testapp.git
git init --bare
touch git-daemon-export-ok
echo "Creating local repo ..."
cd
mkdir testapp
cd testapp
git init
echo "Creating test file ..."
touch testfile
git add -A
git commit -m 'Test message'
echo "Pushing master to main repo ..."
git push git://localhost/testapp.git master

2
যদি আমি এই পোস্টটি সম্পাদনা করতে পারি তবে আমি নিম্নলিখিতগুলি যুক্ত করব: পূর্বশর্ত: প্যাকেজ গিট এবং সাইগ্রানস্রভ ইনস্টল করা সাইগউইন।
মারিও

2
অন্য দ্রষ্টব্য: gitd শেল স্ক্রিপ্টের অভ্যন্তরে গিটের পথটি পুরোপুরি যোগ্য করুন। আমার একটি মেশিনে এমএসওয়াইএসজিট উইন্ডোজ প্রক্রিয়া হিসাবে সম্পাদন করার সময় সাইগউইন-গিটের পরিবর্তে শুরু হয়েছিল। MSYSGit ডেমন মোড সমর্থন করে না তাই পরিষেবা শুরু করতে ব্যর্থ হয়েছিল।
মারিও

26
সাইগউইনের সমাধানগুলিকে আমি কখনই "উইন্ডোজে কাজ করা" হিসাবে গ্রহণ করি নি। এটি "ভিএম-তে লিনাক্স চালানো উইন্ডোজে কাজ করছে" বলার মতো। তবে এটি কেবল আমার শুদ্ধবাদী মতামত;)
রুক

3
দ্রুত নোট: / ইউএসআর / বিন আমার পক্ষে কাজ করেন নি তবে / বিনে কাজ করে (এবং সি: / সাইগউইন / বিন / সিআইজিআরএনএসআরভিতে গিটড ব্যবহার করে)। আমার সাইগউইন ইনস্টলটি কত পুরানো তা নিশ্চিত নয় তবে / ইউএসআর / বিনের মত দেখাচ্ছে যা উইন্ডোজ / উইন্ডো সম্পর্কে জানবে না ... এছাড়াও স্পষ্টতই, তবে সি: / সাইগউইন /
আর্মিফডি

3
@ রুক - বিপরীতে, সরঞ্জামগুলির সাইগউইন স্যুট আপনি ইনস্টল করতে পারেন এমন কোনও তৃতীয় পক্ষের অ্যাপ্লিকেশনগুলির চেয়ে আলাদা নয়। সাইগউইন ভার্চুয়াল মেশিন নয়, তবে সরঞ্জামগুলির একটি প্রাক-প্যাকযুক্ত স্যুট। এটি কেবলমাত্র উইন্ডোজ এক্সিকিউটেবল এবং সেটগুলি আপনার মেশিনের সমস্ত কিছুর মতো সেট।
ডেরিক গ্রেয়ার

16

গিটস্ট্যাক আপনার সেরা পছন্দ হতে পারে। এটি বর্তমানে নিখরচায় (2 জন ব্যবহারকারী পর্যন্ত) লেখার সময় ওপেন সোর্স


2
দেখে মনে হচ্ছে এটি ওপেন সোর্স বা ছাত্র প্রকল্পগুলির মধ্যে সীমাবদ্ধ ছিল: "গিটস্ট্যাক ওপেন সোর্স এবং শিক্ষার্থী প্রকল্পের জন্য বিনামূল্যে!"
ccellar

12

উইন্ডোজের জন্য এখানে একটি উত্সর্গীকৃত গিট সার্ভার রয়েছে: https://github.com/jakubgarfield/Bonobo-Git-Server/wiki


বনবো সার্ভারের অবস্থা কী? এটি কি পুরোপুরি কার্যকর? আমি দস্তাবেজগুলি থেকে বলতে পারি না, তবে এটি খুব জোরালো দেখাচ্ছে।
জেফ ফ্রিটজ

1
@ জেফফ্রিটজ: সবেমাত্র এটি ব্যবহার বন্ধ করে দেওয়া হয়েছে। git update-server-infoডার্ন জিনিসটি এইচটিটিপি পুশের পরে সংগ্রহস্থল স্থিতি ( ) আপডেট করে না এবং এই যুক্তিটি তাদের গিট লাইব্রেরি (গিটশার্প) দ্বারা প্রয়োগ করা হয়নি। আমি সন্দেহ করি যে তাড়াতাড়ি যে কোনও সময় এটি একটি আসল কার্যকরী অবস্থায় পৌঁছে যাবে।
আন্দ্রে কারন

এছাড়াও, Teamcity সঙ্গে কাজ (যার জন্য আমাকে এটা ব্যবহার করছেন না প্রধান কারণ হয়) না github.com/jakubgarfield/Bonobo-Git-Server/issues/11
পিয়ার্স Karsenbarg

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

9

আপনি যদি উইন্ডোজ পরিবেশে কাজ করছেন, আপনি কি মার্চুরিয়াল বিবেচনা করেছেন ? এটি গিটের মতো বিতরণযোগ্য সংস্করণ নিয়ন্ত্রণ ব্যবস্থা, তবে উইন্ডোজের সাথে অনেক বেশি ঝরঝরে এবং সহজেই সংহত করে।


9
এটি সত্য যে উইন্ডোজ মেশিনে মার্চুরিয়াল ব্যবহার করা অনেক সহজ, কমপক্ষে রিপোজিটরিগুলিকে সিঙ্ক করতে সক্ষম হিসাবে উদ্বিগ্ন। আসলেই যদিও আপনাকে গিট ব্যবহার করতে হয় তবে এটি কোনও মারাত্মক কার্যকর উত্তর নয়!
ফ্র্যাঙ্ক শায়ারার

এছাড়াও বাজার উইন্ডোজ নেটিভ কাজ করে; এমনকি এটি বাণিজ্যিক সমর্থন আছে।
হেসেন

7

সাইগউইন ইনস্টল করা একটি ওভারকিল, কীভাবে এটি দ্রুত এবং স্থানীয়ভাবে করা যায় তার এই টিউটোরিয়ালটি পড়ুন:

http://code.google.com/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXP


আমি পার্টিতে দেরি করে ফেলেছি, কিন্তু এই লিঙ্ক এখন রিডাইরেক্ট tortoisegit.org যা ক্লায়েন্ট সম্পর্কে সব কথা বলেছেন। আমি সেখানে সার্ভার চালানোর বিষয়ে কিছুই খুঁজে পাচ্ছি না।
রিচার্ড এ

7

cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: The service has not been started.কমান্ডটি চালানোর পরে আপনি যদি ত্রুটি পান :

cygrunsrv --start gitd

এর অর্থ আপনি 'বেস-পাথ' ফোল্ডারটি তৈরি করেন নি।

'/ Git' ফোল্ডারটি তৈরি করা এবং কমান্ডটি পুনরায় চালনা করা এটি ঠিক করবে।


আপনার /gitএনটিএফএস অনুমতি যদি পরিষেবা অ্যাকাউন্ট (SYSTEM) পড়তে / লেখার অ্যাক্সেসের অনুমতি না দেয় আপনিও এই ত্রুটিটি পেতে পারেন।
স্পোলসন

5

আমি বর্তমানে উইন্ডোতে সাইগউইনের এসএস ডেমন ব্যবহার করছি এবং আমার রেপোতে দূরবর্তী অ্যাক্সেসের অনুমতি দিতে পারি। এটি বেশ ভালভাবে কাজ করে, তাদের এসএস শংসাপত্রগুলি দ্বারা আমার রেপোগুলিতে কে অ্যাক্সেস করে তার উপর আমার সম্পূর্ণ নিয়ন্ত্রণ রয়েছে এবং এমনকি দূরবর্তী WAN এবং VPN লিঙ্কগুলির মধ্যেও পারফরম্যান্স ব্লেজ হয় z

আর একটি সমাধান হ'ল গিটোসিস ব্যবহার করা । এটি এমন একটি সরঞ্জাম যা হোস্টিং রেপোকে আরও সহজ করে তোলে।


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


4

আপনার কোনও পরিষেবা হোস্ট করার দরকার নেই, আপনি একটি ভাগ করা ড্রাইভে একটি ভাগ করা সংগ্রহস্থলও তৈরি করতে পারেন। খালি একটি খালি সংগ্রহস্থল তৈরি করুন। আপনি একটি বিদ্যমান রেপোকে একটি ভাগ করে একটিতে ক্লোন করতে পারেন: "গিট ক্লোন - বিয়ার - শেয়ার্ড [উত্স] [গন্তব্য]" using আপনি "git init --bare --shared = all" ব্যবহার করে একটি নতুন সংগ্রহস্থলও শুরু করতে পারেন।

Henk


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

3
এটি আসলেই প্রশ্নের সমাধান নয় এবং যাইহোক এটি করার মতো একটি সুন্দর প্রশ্নবিদ্ধ জিনিস বলে মনে হয়।
প্যাট হে


4

এখন এমএসজিজিট গিট ডিমনকে সমর্থন করে! এটি ভাল কাজ করে (কমপক্ষে আমার জন্য) আমি এটিকে পরিষেবা হিসাবে চালানোর চেষ্টা করব ...


এটি উভয় ধাক্কা এবং টান সমর্থন করে? কারণ পুশ করার সময় একটি সমস্যা কোড. google.com/p/msysgit/issues/detail?id=457 রয়েছে
ভাদিম

আপনি কি একটি পরিষেবা হিসাবে এই চলমান পেয়েছেন? আপনি কি "শুরু করা" গাইড সম্পর্কে জানেন?
ক্রেগ ম্যাককুইন

4

এসসিএম ম্যানেজার মো

  • গিট, মার্কুরিয়াল, একটি বাক্স থেকে সাবভার্সন রেপোর জন্য হালকা এইচটিএমএল সার্ভার (কেবল জাভা প্রয়োজন)
  • ব্যবহারকারী, এসিএল, রেপো পরিচালনার জন্য ওয়েব ইন্টারফেস

2

উইন্ডোজে, আপনি ডিএভি এক্সটেনশান ব্যবহার করে এইচটিটিপি বা এইচটিটিপিএসের মাধ্যমে অ্যাপাচি দিয়ে গিট সংগ্রহস্থলও পরিবেশন করতে পারেন

গিট সংগ্রহস্থল পাথটি তখন অ্যাপাচি প্রমাণীকরণের পরীক্ষার সাথে সুরক্ষিত হতে পারে যেমন নির্দিষ্ট আইপি ঠিকানা বা htpasswd / htdigest টাইপ প্রমাণীকরণের মধ্যে সীমাবদ্ধ।

Htpasswd / htdigest প্রমাণীকরণ ব্যবহারের সীমাবদ্ধতা হ'ল ইউজারনেম: পাসওয়ার্ড অনুরোধ করা গিট ইউআরএল পাস করা হয়েছে, সুতরাং নির্দিষ্ট আইপি ঠিকানায় গিট ইউআরএলটিতে অ্যাক্সেস সীমাবদ্ধ করা ভাল।

সম্পাদনা: দ্রষ্টব্য, আপনি গিট ইউআরএল থেকে পাসওয়ার্ডটি ছেড়ে দিতে পারেন এবং গিট পরিবর্তে আপনাকে পুশ এবং আনতে / টেনে পাসওয়ার্ডের জন্য অনুরোধ করবে।

এইচটিটিপিএস ব্যবহারের অর্থ হ'ল সমস্ত ডেটা স্থানান্তরকরণে এনক্রিপ্ট করা।

এটি সেট আপ করা যথেষ্ট সহজ, এবং কাজ করে।

নিম্নলিখিত উদাহরণটি আইপি ঠিকানা এবং ব্যবহারকারীর দ্বারা অ্যাক্সেস নিয়ন্ত্রণের সংমিশ্রণটি দেখায়: স্ট্যান্ডার্ড এইচটিটিপি-র পাসওয়ার্ড।

উদাহরণ অ্যাপাচি ভার্চুয়ালহোস্ট

## GIT HTTP DAV ##
<VirtualHost *:80>

  ServerName git.example.com
  DocumentRoot C:\webroot\htdocs\restricted\git
  ErrorLog C:\webroot\apache\logs\error-git-webdav.log

    <Location />
      DAV on
      # Restrict Access
      AuthType Basic
      AuthName "Restricted Area"
      AuthUserFile "C:\webroot\apache\conf\git-htpasswd"
      # To valid user
      Require valid-user
      # AND valid IP address
      Order Deny,Allow
      Deny from all
      # Example IP 1
      Allow from 203.22.56.67 
      # Example IP 2
      Allow from 202.12.33.44 
      # Require both authentication checks to be satisfied
      Satisfy all
    </Location>

</VirtualHost>

উদাহরণ .git / কনফিগারেশন

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = http://username:password@git.example.com/codebase.git
[branch "master"]
    remote = origin
    merge = refs/heads/master

2

কর্মক্ষেত্রে আমি উইন্ডোজ সার্ভারে ইনস্টল করা গিটব্লিট জিও ব্যবহার করছি। ত্রুটিহীনভাবে কাজ করুন এবং ব্যবহারকারীর প্রমাণীকরণ এবং অনুমোদনের জন্য অ্যাক্টিভ ডিরেক্টরিতে ভালভাবে সংহত করুন। এটি নিখরচায় এবং ওপেনসোর্স (অ্যাপাচি লাইসেন্সযুক্ত)

গিটব্লিট হোমপেজ

কেবলমাত্র এইচটিটিপি (এস) অ্যাক্সেস সমর্থিত, কোনও এসএসএইচ নয়, তবে উইন্ডোজ এর অধীনে আপনার আর কিছু করার দরকার নেই।


সাইটে সেটআপ ডকুমেন্টের উপর ভিত্তি করে তাদের এসএসএল (এইচটিটিপিএস) সমর্থন রয়েছে।
ডান্ড্রি

হ্যাঁ, এইচটিটিপি এবং এইচটিটিপিএস সমর্থিত (আমি একচেটিয়াভাবে এইচটিটিপিএস ব্যবহার করছি) তবে এসএসএইচ নেই। প্রতিক্রিয়া আপডেট হয়েছে।
জিয়ান মার্কো

2

এটি 7 বছরেরও বেশি পুরানো একটি প্রশ্নের 2015 সালের উত্তর।

এক বারের জন্য payment 10 পেমেন্টের জন্য, https://bitbucket.org/product/server থেকে , 10 জন পর্যন্ত ব্যবহারকারীদের জন্য একটি 64-বিট উইন্ডোজ লাইসেন্স কিনতে পারবেন ।

দৃশ্যত 32-বিট সংস্করণগুলি কেবল তাদের সংরক্ষণাগার মাধ্যমে উপলব্ধ।

বিটবকেট সার্ভার আগে স্ট্যাশ নামে পরিচিত ছিল ।

দয়া করে মনে রাখবেন যে আমি এই সংস্করণটি ব্যবহার করে দেখিনি তবে 10 ডলার মনে হচ্ছে একটি ভাল চুক্তি; এখানে আমি পড়লাম যে আটলাসিয়ান 10% দাতব্য প্রদান করে। FWIW


0

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


2
মূল প্রশ্নটি বলছে "ভাগ করে নেওয়ার ফোল্ডার"।
অরবিটে হালকা ঘোড়দৌড়

0

উইন্ডোজ x এক্স Cyg এবং সাইগউইন ১. I.৯ এর জন্য আমার / ইউএসআর / বিন / গিটটি সাইগ্রুনস্রভের আর্গুমেন্ট হিসাবে ব্যবহার করা দরকার

cygrunsrv   --install gitd                          \
            --path c:/cygwin/bin/bash.exe           \
            --args /usr/bin/gitd                    \
            --desc "Git Daemon"                     \
            --neverexits                            \
            --shutdown

এছাড়াও, পরিষেবাটি ইনস্টল করতে আমার প্রশাসক হিসাবে ব্যাশ চালানো দরকার।

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