সংক্ষিপ্ত উত্তর
একটি খালি সংগ্রহস্থল হ'ল একটি কার্যকরী অনুলিপি ব্যতীত গিট সংগ্রহস্থল, সুতরাং .git এর সামগ্রীটি সেই ডিরেক্টরিটির জন্য শীর্ষ স্তরের।
স্থানীয়ভাবে কাজ করার জন্য একটি নন-বেয়ার স্টোর এবং অন্যের সাথে আপনার পরিবর্তনগুলি ভাগ করে নেওয়ার জন্য কেন্দ্রীয় সার্ভার / হাব হিসাবে একটি খালি সংগ্রহস্থল ব্যবহার করুন। উদাহরণস্বরূপ, আপনি github.com এ একটি সংগ্রহস্থল তৈরি করার সময়, এটি একটি খালি সংগ্রহস্থল হিসাবে তৈরি করা হয়।
সুতরাং, আপনার কম্পিউটারে:
git init
touch README
git add README
git commit -m "initial commit"
সার্ভারে:
cd /srv/git/project
git init --bare
তারপরে ক্লায়েন্টের উপর, আপনি চাপ দিন:
git push username@server:/srv/git/project master
এরপরে আপনি টাইপিংটি রিমোট হিসাবে যুক্ত করে সংরক্ষণ করতে পারেন।
সার্ভার সাইডের ভাণ্ডারটি পুল এবং পুশের মাধ্যমে কমিটগুলি পেতে চলেছে, এবং আপনি ফাইল সম্পাদনা করে সার্ভার মেশিনে সেগুলি চালিত করে না, সুতরাং এটি একটি খালি সংগ্রহস্থল।
বিস্তারিত
আপনি কোনও সংগ্রহস্থলের দিকে ধাক্কা দিতে পারেন যা একটি খালি সংগ্রহস্থল নয়, এবং গিটটি জানতে পারে যে সেখানে একটি .git সংগ্রহস্থল রয়েছে, তবে বেশিরভাগ "হাব" সংগ্রহস্থলের একটি কার্যকরী অনুলিপি প্রয়োজন হয় না, তাই খালি সংগ্রহস্থল ব্যবহার করা স্বাভাবিক is এটি এবং সুপারিশ করা হয় কারণ এই ধরণের সংগ্রহস্থলগুলিতে কোনও কাজের অনুলিপি থাকার কোনও মানে নেই point
যাইহোক, আপনি যদি খালি নন সংগ্রহস্থলের দিকে চাপ দেন তবে আপনি ওয়ার্কিং কপিটি বেমানান করছেন, এবং গিট আপনাকে সতর্ক করবে:
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: error:
remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error:
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
আপনি এই সতর্কতা এড়িয়ে যেতে পারেন। তবে প্রস্তাবিত সেটআপটি হ'ল: স্থানীয়ভাবে কাজ করার জন্য একটি নন-বেয়ার রিপোজিটরি এবং হাব বা সেন্ট্রাল সার্ভার হিসাবে একটি খালি সংগ্রহস্থলটি চাপতে এবং এড়াতে ব্যবহার করুন।
আপনি যদি অন্য বিকাশকারীর কার্যকরী অনুলিপিটির সাথে সরাসরি কাজটি ভাগ করতে চান তবে আপনি চাপ দেওয়ার পরিবর্তে একে অপরের সংগ্রহস্থল থেকে টানতে পারেন।