মার্ক লংগায়ারের উপরের প্রস্তাবিত বিকল্পের জন্য একটি বিকল্প পদ্ধতি হ'ল একটি উপাধি ব্যবহার করুন যা কোনও এসএমএইচ কী সহ কোনও রিমোটে যে কোনও গিট কমান্ড চালাবে । ধারণাটি হ'ল গিট কমান্ড চলাকালীন আপনার এসএসএইচ পরিচয় স্যুইচ করা।
অন্যান্য উত্তরে হোস্ট ওরফে পদ্ধতির সাথে সম্পর্কিত সুবিধাগুলি:
- আপনি স্পষ্টভাবে নির্দিষ্ট করতে না পারলেও কোনও গিট কমান্ড বা উপকরণের সাথে কাজ করবে
remote
।
- অনেক সংগ্রহস্থলগুলির সাথে কাজ করা সহজ কারণ আপনার প্রতি ক্লায়েন্ট মেশিনে একবার প্রতি সংগ্রহস্থল নয়, প্রতি ক্লায়েন্ট মেশিনে একবার এটি সেট আপ করতে হবে।
আমি কয়েকটি ছোট স্ক্রিপ্ট এবং গিট ওরফে ব্যবহার করি admin
। এইভাবে আমি করতে পারি, উদাহরণস্বরূপ:
git admin push
বিকল্প ("অ্যাডমিন") এসএসএইচ কী ব্যবহার করে ডিফল্ট রিমোটে যেতে। আবার, আপনি push
এই উলামের সাহায্যে কোনও আদেশ (কেবল নয় ) ব্যবহার করতে পারেন । এমনকি আপনি git admin clone ...
কোনও সংগ্রহস্থল ক্লোন করতেও করতে পারেন যা আপনার "অ্যাডমিন" কী ব্যবহার করার ক্ষেত্রে আপনার কেবল অ্যাক্সেস থাকবে।
পদক্ষেপ 1: বিকল্প এসএসএইচ কীগুলি তৈরি করুন, আপনি অন্য কারও মেশিনে এটি করছেন এমন ক্ষেত্রে বিকল্পভাবে একটি পাসফ্রেজ সেট করুন।
পদক্ষেপ 2: "ssh-as.sh" নামে একটি স্ক্রিপ্ট তৈরি করুন যা এসএসএইচ ব্যবহার করে এমন স্টাফ চালায়, তবে ডিফল্টের পরিবর্তে প্রদত্ত এসএসএইচ কী ব্যবহার করে:
#!/bin/bash
exec ssh ${SSH_KEYFILE+-i "$SSH_KEYFILE"} "$@"
পদক্ষেপ 3: "git-as.sh" নামে একটি স্ক্রিপ্ট তৈরি করুন যা প্রদত্ত এসএসএইচ কী ব্যবহার করে গিট কমান্ড চালায়।
#!/bin/bash
SSH_KEYFILE=$1 GIT_SSH=${BASH_SOURCE%/*}/ssh-as.sh exec git "${@:2}"
পদক্ষেপ 4: একটি উপনাম যুক্ত করুন (নীচে "PATH_TO_SCRIPTS_DIR" এর জন্য উপযুক্ত কিছু ব্যবহার করে):
# Run git commands as the SSH identity provided by the keyfile ~/.ssh/admin
git config --global alias.admin \!"PATH_TO_SCRIPTS_DIR/git-as.sh ~/.ssh/admin"
: এ আরো বিস্তারিত http://noamlewis.wordpress.com/2013/01/24/git-admin-an-alias-for-running-git-commands-as-a-privileged-ssh-identity/