উইন্ডোজের জন্য যাইহোক গিট বাশ কী?


61

আমি আনন্দের সাথে https://git-scm.com/ থেকে গিট এবং গিট ব্যাশ ব্যবহার করছি । এখানে আরও তথ্যের সাথে একটি পৃষ্ঠা রয়েছে: https://git-for-windows.github.io/

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

মধ্যে খুঁজছেন সালে "কি গীত ব্যাশ হল" আমি সম্পর্কে পড়তে Cygwin এবং বিভিন্ন জিনিস নামক mysys2 , যা এর সাথে সম্পর্কিত বলে মনে হয় mysysGit, এবং আমি উল্লেখ দেখেছি MinGW। তবে, তখন আমি এফএকিউতে দেখেছি যে গিন্ট বাশের জন্য মিন্টিটি ডিফল্ট টার্মিনাল।

দেখে মনে হয় যে ব্যাশ অ্যাপ্লিকেশনটি আসলে অন্যান্য জিনিসগুলির (বিশেষত উপরে তালিকাবদ্ধ) একটি বিশেষভাবে সজ্জিত বান্ডিল যা স্বতন্ত্রভাবে উপলভ্য।

মৌলিকভাবে, আমি জানতে চাই যে ssh scp cat lsউইন্ডোজের জন্য গিট বাশ-এ কাজ করার মতো * নিক্স কমান্ড তৈরি করে এমন ভিত্তি কী ?

(আমি মনে করি একটি ভাল উত্তর কাউকে বুঝতে সাহায্য করবে, বিস্তৃত স্ট্রোকগুলিতে, কীভাবে এই উপাদানগুলি একসাথে ফিট করে এবং উপাদানগুলির জন্য সঠিক শব্দগুলি বোঝে, তবে আমি এসও প্রশ্ন / উত্তরের ফর্ম্যাটটি ভাঙতে চাই না))


এখানে খুব ভাল উত্তর পাওয়া গেছে: গিট বাশের সঠিক অর্থ কী?
জেনোরোমা

1
আমার মনে হয় গুগলের সরকারী নাম / জিনিসটি হ'ল "গিট বাশ"। উভয় শব্দই স্বাধীনভাবে অর্থবহ হওয়ায় এটিকে উদ্ধৃতিতে রাখতে সহায়তা করে।
জেনোরোমা

এখানে এবং এখানে রেডডিট সম্পর্কিত কিছু ভাল আলোচনা (2017 থেকে)। এমনকি তারা আমার মূল rsyncপ্রশ্নটিও সম্বোধন করে !!
জেনোরোমা

উত্তর:


72

সারাংশ

আপনি সঠিক, উইন্ডোজ জন্য গিট ব্যাশ শুধুমাত্র bashউইন্ডোজ জন্য সংকলিত হয় না । এটা তোলে প্যাকেজ যে রয়েছে এর bash(যা একটি হল কম্যান্ড-লাইন শেল ) এবং মত অন্যান্য আলাদা * স্নো ইউটিলিটি একটি সংগ্রহ ssh, scp, cat, findএবং অন্যদের (যা আপনি শেল ব্যবহার করে চালানো), Windows এর জন্য কম্পাইল করা এবং একটি নতুন কম্যান্ড-লাইন ইন্টারফেস টার্মিনাল উইন্ডো বলা হয় mintty

সংক্ষেপে

উইন্ডোজে আপনি কমান্ডগুলি পছন্দ মতো ipconfig /allবা format G:ব্যবহার করতে পারেন cmd.exe। এই কমান্ডগুলি হ'ল প্রকৃত সম্পাদনযোগ্য ফাইলগুলি C:\Windows\system32হিসাবে সংরক্ষণ করা হয় ipconfig.exeএবং format.comফাইলগুলি। cmd.exeউভয় এবং লোড থেকে পৃথক এবং ব্যবহারকারীর অনুরোধে এগুলি চালায়।

ssh, scp, cat, findব্যবহার করে চালানো হয় bashঠিক একই ভাবে। এগুলি সাধারণত * নিক্স সিস্টেমে /usr/binপরিবর্তে সংরক্ষণ করা হয় C:\Windows\system32, কারণ উইন্ডোজ এবং * নিক্সের সিস্টেম ফাইল কাঠামোটি আলাদাভাবে সাজানো থাকে।

উইন্ডোজের জন্য গিট বাশের ক্ষেত্রে এই প্রোগ্রামগুলি গিট ইনস্টলেশন ফোল্ডারে অবস্থিত: C:\Program Files\Git\usr\binযা অন্তর্নিহিত লিনাক্স পরিবেশেও পাওয়া যায় /usr/bin

ঠিক যেমন cmd.exe* নিক্সে চালানো সক্ষম হওয়া অন্যান্য সিস্টেম ইউটিলিটিগুলি ছাড়া আপনাকে অনেক কিছু করার অনুমতি দেয় না, উইন্ডোজে ব্যাশ চালাতে সক্ষম হওয়াও খুব বেশি কার্যকর নয়। এর অর্থ হল যে ব্যবহারযোগ্য সফ্টওয়্যার প্যাকেজ তৈরি করতে বাশের সাথে এই সমস্ত অতিরিক্ত কমান্ড একসাথে বান্ডিল করতে হবে।

বিশদ: উইন্ডোজটিতে পসিক্স অ্যাপ্লিকেশন

সাধারণত এই অতিরিক্ত কমান্ডগুলি উইন্ডোজে নয়, * নিক্স সিস্টেমে পাওয়া যাবে, কারণ সেগুলি পসইক্স প্রোগ্রামিং এপিআই (যা * নিক্স ব্যবহার করে) এর বিরুদ্ধে প্রোগ্রাম করা হয়েছে, এবং উইন 32 এপিআইয়ের (উইন্ডোজ যা ব্যবহার করে) তা নয় not পসিক্স এপিআই ডকুমেন্টেশনগুলি প্রকাশ্যে উপলভ্য, তাই কিছু লোক এটি উইন্ডোজ সহ অন্যান্য সিস্টেমে পোর্ট করেছেন। POSIX API গুলি উইন্ডোজ বাস্তবায়ন / লাইব্রেরি দ্বারা উপলব্ধ করা হয় Cygwinএবং MSYS

এটি ওয়াইন প্রকল্পটি যা করে তার অনুরূপ , তবে এটি ওয়াইনের মতো উইন্ডোজ-> পসিক্সের পরিবর্তে পসিক্স> উইন্ডোজকে রূপান্তর করে।

mintty

minttyঅন্তর্ভুক্ত কারণ cmd.exeডিফল্ট উইন্ডোজ কমান্ড লাইন উইন্ডো, কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য হারিয়েছে যা বেশিরভাগ * নিক্স সিস্টেমে সাধারণত পাওয়া যায়। বেশিরভাগ ক্ষেত্রে, minttyচলমান কমান্ডগুলির জন্য একটি ভাল পছন্দ (অবশ্যই উইন্ডোজ প্যাকেজটির জন্য গিট ব্যাশ সহ যে ইউটিলিটিগুলি আসে সেগুলির জন্য) তবে মাঝে মাঝে উইন্ডোজ সিস্টেম অ্যাপ্লিকেশনটি আরও ভালভাবে কাজ করতে পারে cmd.exe


1
দেখা যাচ্ছে যে আমার বেশিরভাগ প্রশ্নের উত্তর প্রকল্পের এফএকিউতে দেওয়া হয়েছে : github.com/git-for-windows/git/wiki/FAQ এবং আমি গুগল গ্রুপ গ্রুপে আরও সুনির্দিষ্ট তথ্য খুঁজে পেতে পারি google.com/forum/#! উইন্ডোজ ফোরাম / গিট-এর জন্য
জেনোরোমা

@ জেনেওরমা যদি এই উত্তরটি সত্যই সঠিক, তথ্যবহুল এবং কার্যকর হয় তবে তা গ্রহণ করতে সমস্যা হওয়া উচিত নয়।
ওয়ালেন

1
@ জেনোরামা এই ফাঁকাটি পূরণ করা আপনার উদ্দেশ্য হতে পারে তবে আপনি যে প্রশ্নটি করেছিলেন তা তা নয়। আপনার পোস্টটির শিরোনাম "যাইহোক উইন্ডোজের জন্য গিট বাশ কী?" , এবং এর শরীরে উপস্থিত একমাত্র প্রশ্ন হ'ল "আমি জানতে চাই যে ssh scp cat lsউইন্ডোজের জন্য গিট বাশ-এ কাজ করার মতো * নিক্স কমান্ড তৈরি করে এমন ভিত্তি কী ?" । পাব্রুর পোস্ট উভয় প্রশ্নের উত্তর বেশ সুন্দরভাবে দিয়েছে এবং যে কারওর জন্য একই প্রশ্ন (যেমন বলা হয়েছে) এর সঠিক উত্তর, সুতরাং এটি গ্রহণ করে আপনি অন্য ব্যবহারকারীদের সহায়তা করছেন। আপনি কি rsyncসমস্যার জন্য নতুন প্রশ্ন পোস্ট করার চেষ্টা করেছেন ?
ওয়ালেন

4
@ ওয়ালেন এসও এবং সম্পর্কিত সাইটে প্রশ্ন পোস্ট করা এতটাই অপ্রীতিকর যে আমি সন্দেহ করি যে আমি আরও বেশি প্রশ্ন পোস্ট করব his এটি আসলে একটি পরীক্ষা ছিল এবং এটি আমার অনুভূতির বিষয়টি নিশ্চিত করেছে। প্রশ্নটি সংক্ষিপ্ত রাখতে এবং আমার গবেষণাটি নথিভুক্ত করার প্রয়াসে (এবং আমি একটি পুরো দিন গবেষণা করে কাটিয়েছি), আমি অনুমান করি যে আমি আসল প্রশ্নটি বাদ দিয়েছি। আমি যখন সাবধানে সম্পাদনা করি তখন লোকেদের মনে হয় গবেষণার অভাব হিসাবে এই বক্ষ্যকে গ্রহণ করবে। আমি যদি প্রশ্নটি খুব ভার্বোস করি তবে তা উপেক্ষা করা হবে। যাই হোক না কেন, প্রশ্নটি সমালোচিত (বেশ কয়েকটি সরল অভদ্র মন্তব্য মুছে ফেলা হয়েছে)। এমনকি আমার "বিখ্যাত" প্রশ্নগুলি প্রথমে ভারীভাবে হ্রাস পেয়েছিল।
জেনোরোমা

1
@ জেনোরোমা যদি এটি আপনার কাছে কোনও সান্ত্বনা থাকে তবে উত্তরটি পড়ার আগে আপনার প্রশ্ন আমাকে গিট ব্যাশ সম্পর্কে আরও জানতে সহায়তা করেছে। তবে আপনার বোঝার অর্থ আমি বুঝতে পারি।
ওয়ালেন

4

পটভূমি

আমি ওপি। আমি মূলত আমি ব্যবহার করছি এই জিনিসটির আনুষ্ঠানিক নাম জানতে চেয়েছিলাম।

এখন আমি মনে করি নামটি "উইন্ডোজের জন্য গিট ব্যাশ"। দুর্ভাগ্যক্রমে পুরো উত্তরটি জটিল কারণ এই জিনিসটি আসলে অনেকগুলি জিনিস।

২০১ from সালের শীর্ষ উত্তরটি মূলত আমার পক্ষে সহায়ক ছিল না, তবে এটি ভারীভাবে সম্পাদিত হয়েছে এবং আরও বেশি সহায়ক হয়েছে helpful তবুও, এটি আমার কিছু আসল প্রশ্ন মিস করে।

শুরুতে: msysgit

আসলে, শুরুটি সম্ভবত MSYS, তবে সত্যই MSYS2। এক্সওয়াইজেড ভুল হয়ে গেলে কী ঘটছে তা নির্ধারণের জন্য অনুসন্ধানের জন্য "এমএসজিগিট" শব্দটি একটি ভাল শব্দ; "@ @ # সেখানে যেখানে সমস্ত অটোক্রাফ্ট সেটিংস সংরক্ষণ করা হয়?!?!?!?!?"? "

এমএসএসজিট প্রকল্পের README ( https://github.com/msysgit/msysgit ) উপাদানগুলির মধ্যে সম্পর্কের ব্যাখ্যা দেয়:

উইন্ডোজের জন্য এমএসজিজিট এবং গিটের মধ্যে সম্পর্ক

উইন্ডোজের জন্য গিট হ'ল এমন একটি সফ্টওয়্যার প্যাকেজ যা উইন্ডোজে গিট চালানোর জন্য একটি নূন্যতম পরিবেশ স্থাপন করে। এটি একটি বাশ (একটি ইউনিক্স-ধরণের শেল), পার্ল দোভাষী এবং গিট এক্সিকিউটেবল এবং এর নির্ভরতার সাথে আসে।

অন্যদিকে, এমএসএসজিট হ'ল সফটওয়্যার প্যাকেজ যা বিল্ট এনভায়রনমেন্ট ইনস্টল করে যা উইন্ডোজের জন্য গিট তৈরি করতে পারে। নেট ইনস্টলারের মাধ্যমে এটিকে ইনস্টল করা সবচেয়ে সহজ উপায় ।

এমএসওয়াইএস এবং মিনজিডাব্লুয়ের মধ্যে পার্থক্য

MinGW প্রকল্পের 'র লক্ষ্য কোন POSIX স্তর গনুহ সি কম্পাইলার ব্যবহার করে নেটিভ উইন্ডোজ বাইনেরিতে কম্পাইল করার জন্য একটি উপায় প্রদান করা হয়।

যাইহোক, কমপক্ষে বাশের একটি পসিক্স স্তর প্রয়োজন (বিশেষত fork()উইন্ডোজটিতে কল না থাকার কারণে )। সুতরাং, উইন্ডোজে বাশ (এবং পার্ল) কার্যকারিতা সরবরাহ করার জন্য প্রয়োজনীয় ন্যূনতম সিস্টেমটি সরবরাহ করে এমএসওয়াইএস ( সর্বনিম্ন সিস্টেম ) ফেলে দেওয়া হয়।

ফলস্বরূপ, এমএসওয়াইএস জাহাজগুলি একটি পসিক্স লেয়ার (সাইগউইনের পুরাতন সংস্করণের উপর ভিত্তি করে) দিয়ে চালিত হয় যা কেবল বাশ এবং পার্ল দ্বারা ব্যবহৃত হয়, তবে সেই পরিবেশের মধ্যে সংকলিত কোনও কিছুর দ্বারা নয়।

বিটিডাব্লু, কেবলমাত্র পুরো README মুছে ফেলার ক্ষেত্রে, আমি এটিকে একটি সংক্ষেপে অনুলিপি করেছি ।

টার্মিনাল উইন্ডো: mintty

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

এমএসওয়াইএস 2 এর জন্য রেফারেন্স

তাদের উইকি হ'ল এমএসওয়াইএস 2 পরিবেশের বিশদগুলির সত্যিকারের ধনভাণ্ডার: https://github.com/msys2/msys2/wiki

পরিচিতিতে, এই অংশটি আমার মূল প্রশ্নের সাথে সর্বাধিক প্রাসঙ্গিক:

MSYS2 তিন সাব নিয়ে গঠিত এবং তাদের সংশ্লিষ্ট প্যাকেজ ভান্ডার, msys2, mingw32, এবং mingw64

এই আলোচনাটিও খুব সহায়ক htt


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