গিট পুশ করার জন্য শংসাপত্রগুলি পাইপ করছে


1

যখনই আমি এক্সিকিউট করি git push, আমাকে প্রম্পটে নিজেই নিজের ব্যবহারকারীর নাম এবং পাসওয়ার্ড টাইপ করতে হবে।
তবে আমি এই প্রক্রিয়াটি স্বয়ংক্রিয় করতে চাই।

সুতরাং, আমি পাইপিং ব্যবহার করে কমান্ডে শংসাপত্রগুলি প্রেরণের চেষ্টা করেছি:

printf 'username\npassword' | git push

তবে ব্যবহারকারীর নাম এবং পাসওয়ার্ডের জন্য প্রম্পটটি এখনও যায় না!
কেন এটা কাজ করছে না?

দ্রষ্টব্য:
আমি জানি যে এটি ব্যবহার করে করা যেতে পারে:
git push 'https://username:password@github.com/username/repo.git'
তবে আমি পাইপিং পদ্ধতিতে কী ভুল তা জানতে আগ্রহী?


এছাড়াও, এই প্রক্রিয়াটি অন্যান্য ক্ষেত্রে কাজ করে তা নিশ্চিত করার জন্য, আমি একটি পরীক্ষা করেছি।
আমি একটি স্ক্রিপ্ট তৈরি করেছি b.py:

b.py:

#!/usr/bin/env python3

username = input()
password = input()

log = open("log.txt", "w")
print(username + "\n" + password, file=log)

তারপরে, আমি printf 'abcd\nefgh' | ./b.pyটার্মিনালে চালিত হয়েছিলাম যা প্রত্যাশা অনুযায়ী কাজ করেছিল এবং ফলস্বরূপ ব্যবহারকারীর নাম এবং পাসওয়ার্ডের স্ট্রিং যুক্ত লগ ফাইলের ফলে:

log.txt:

abcd
efgh

উত্তর:


1

এটি কেবলমাত্র অনুক্রমের অনুরোধগুলির ক্ষেত্রে কাজ করবে যা আপনার উদাহরণ অনুসারে স্ক্রিপ্টের তাত্ক্ষণিক অংশ। তবে gitআপনার মানগুলির ক্ষেত্রে যে কোনও ব্যবহারকারীর নাম / পাসওয়ার্ড প্রম্পটের পূর্বে প্রক্রিয়াটি প্রেরণ করা হচ্ছে - সম্ভবত এর আগে সবকিছু (নেটওয়ার্ক ইত্যাদি) করার আগে GIT_ASKPASS- রেফারেন্সের জন্য: https://git-scm.com/book/en/ v2 / গীত-internals-পরিবেশ-ভেরিয়েবল


সুতরাং, এটি কার্যকর করার কোনও উপায় আছে?
আনমল সিং জাগি

এটা আমি সচেতন না। শংসাপত্রগুলি ঠিকানার অংশের যেখানে আপনি রেখাযুক্ত পদ্ধতি ব্যতীত। এছাড়াও অন্য যে বিষয়টি মনে রাখা দরকার তা হ'ল ব্যবহৃত পরিবহণের উপর গিট নির্ভরতা - যেহেতু এটি পরিচালনা করে না - তাই আমি ভাবতে পারি যে সেখানেও বিচ্ছেদ ঘটবে তাই অতিরিক্ত হ্যাকের আশ্রয় না নিয়ে পাইপিং সম্ভবত সম্ভব হবে না।
এফরিজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.