আমি কোনও পাথ থেকে গিট কমান্ড কার্যকর করার একটি উপায় খুঁজছিলাম, এবং একটি পৃথক পথে সংগ্রহস্থলটিতে পরিবর্তন আনতে চাই। সুতরাং আমি এখানে এই প্রশ্ন শেষ।
তবে আমার নির্দিষ্ট প্রয়োজনের জন্য গ্রহণযোগ্য উত্তর বা অন্য কোনওরই সাহায্য করেনি।
আমার গিট কমান্ডগুলি ব্যবহার করে চালানো দরকার sudo -u USER /usr/bin/git
(এটি ব্যবহার করা অন্য একজন ব্যবহারকারী)। এবং আপনি জানেন যে, sudo আমাকে cd
কমান্ড চালানোর অনুমতি দেয় না , তাই আমি সংগ্রহস্থল ডিরেক্টরিতে থাকতে পারি না ।
তাই, আমি গিয়েছিলাম Git এর man পৃষ্ঠা । এবং বিকল্পগুলির মধ্যে, আমি দেখেছি --git-dir=<path>
:
--git-Dir =
সংগ্রহস্থলের পথ নির্ধারণ করুন। এটি GIT_DIR এনভায়রনমেন্ট ভেরিয়েবল সেট করেও নিয়ন্ত্রণ করা যায়। এটি একটি বর্তমান পথ বা বর্তমান ওয়ার্কিং ডিরেক্টরি সম্পর্কিত আপেক্ষিক পাথ হতে পারে।
সুতরাং, যদি এটি কাউকে সহায়তা করে, আপনি এখনও কোনও পথ থেকে গিট ব্যবহার করতে পারেন এবং "আপনার থেকে দূরে" কোনও সংগ্রহস্থলটিতে পরিবর্তন করতে পারেন। শুধু ব্যবহার করুন:
git --git-dir=/path/to/repository GIT_COMMAND
বা, এটি অন্য ব্যবহারকারী হিসাবে চালানোর জন্য, এর মতো কিছু করুন:
echo USER_PASSWORD | sudo -u USER_LOGIN -S /usr/bin/git --git-dir=/path/to/repository GIT_COMMAND
গিট-ইন-এর ম্যান পৃষ্ঠা থেকেও :
যদি $ GIT_DIR এনভায়রনমেন্ট ভেরিয়েবল সেট করা থাকে তবে এটি সংগ্রহস্থলের বেসের জন্য ./.git পরিবর্তে ব্যবহারের জন্য একটি পাথ নির্দিষ্ট করে।
সুতরাং, যদি আপনি সাধারণ .git ফোল্ডারের অধীনে সংগ্রহস্থলটি শুরু করতে চান তবে আপনাকে --git-dir
বিকল্পটির সাথে এটি একসাথে নির্দিষ্ট করতে হবে । উদাহরণ:
echo USER_PASSWORD | sudo -u USER_LOGIN -S /usr/bin/git --git-dir=/path/to/repository/.git init
সংগ্রহস্থলটি আরম্ভ করার পরে /path/to/repo/.git
, --work-tree=<path>
গিটের ম্যান পৃষ্ঠাতে বর্ণিত সমস্ত কমান্ডের বিকল্প থাকতে হবে :
--work-ট্রি =
কাজের গাছের পথ নির্ধারণ করুন। এটি একটি চলমান ডিরেক্টরি বা বর্তমান ওয়ার্কিং ডিরেক্টরি সম্পর্কিত একটি পাথ হতে পারে। এটি GIT_WORK_TREE এনভায়রনমেন্ট ভেরিয়েবল এবং কোর. ওয়ার্ক্রি ট্রি কনফিগারেশন ভেরিয়েবল সেট করেও নিয়ন্ত্রণ করা যেতে পারে (আরও বিস্তারিত আলোচনার জন্য git-config (1) এ কোর.ওয়ার্কট্রি দেখুন)।
সুতরাং, অন্য ব্যবহারকারী হিসাবে গিট চালানোর জন্য ডান কমান্ড, এবং একটি নতুন সংগ্রহশালা আরম্ভ করার জন্য:
echo USER_PASSWORD | sudo -u USER_LOGIN -S /usr/bin/git --git-dir=/path/to/repository/.git init
echo USER_PASSWORD | sudo -u USER_LOGIN -S /usr/bin/git --git-dir='/path/to/repository/.git' --work-tree='/path/to/repository' add /path/to/repository/*
echo USER_PASSWORD | sudo -u USER_LOGIN -S /usr/bin/git --git-dir='/path/to/repository/.git' --work-tree='/path/to/repository' commit -m 'MESSAGE'
echo USER_PASSWORD | sudo -u USER_LOGIN -S /usr/bin/git --git-dir='/path/to/repository/.git' --work-tree='/path/to/repository' remote add origin user@domain.com:path
echo USER_PASSWORD | sudo -u USER_LOGIN -S /usr/bin/git --git-dir='/path/to/repository/.git' --work-tree='/path/to/repository' push -u origin master