স্থানীয় লিনাক্স গিট থেকে সরাসরি গিথুব সংগ্রহস্থলে একটি ডিরেক্টরি নাম পরিবর্তন করতে চান?


10

এটি আমার গিট সংগ্রহস্থল:

https://github.com/benqzq/ulcwe

এটা তোলে নামে একজন Dir হয়েছে localএবং আমি (থেকে বলুন, অন্য নাম তার নামটি পরিবর্তন করতে চান localকরতে xyz)।

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

গিট ইনস্টল করার পরে, আমি এই আদেশটি চেষ্টা করেছি:

git remote https://github.com/benqzq/ulcwe && git mv local xyz && exit

যদিও আমি আমার গিটহাব পাসওয়ার্ডের জন্য কোনও প্রম্পট পাইনি, তবুও আমি এই ত্রুটিটি পেয়েছি:

fatal: Not a git repository (or any parent up to mount point /mnt/c)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

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

আমি অন্য একটি প্রোগ্রাম সম্ভবত ব্যবহার করা উচিত?


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

এই বিশেষ ক্ষেত্রে ইউআই ব্যবহার করা সাধারণত আমার পক্ষে বেশ সুবিধাজনক এবং দক্ষ, প্রধান জিনিসটি আমি মিস করি তা হ'ল সরাসরি দির নাম পরিবর্তন ...
user9303970

উত্তর:


28

মারাত্মক ত্রুটি বার্তাটি ইঙ্গিত করে যে আপনি কোথাও থেকে কাজ করছেন যা আপনার গিট সংগ্রহস্থলের ক্লোন নয়। সুতরাং প্রথমে গিট সংগ্রহস্থলটি ক্লোনিংয়ের মাধ্যমে শুরু করা যাক:

git clone https://github.com/benqzq/ulcwe.git

তারপরে এটি প্রবেশ করুন:

cd ulcwe

এবং ডিরেক্টরিটির নাম পরিবর্তন করুন:

git mv local xyz

পরিবর্তনটি ভাগ করে নেওয়ার জন্য, আপনাকে এটি প্রতিশ্রুতিবদ্ধ হতে হবে:

git commit -m "Rename local to xyz"

এখন আপনি এটিকে আপনার দূরবর্তী গিট সংগ্রহস্থলটিতে ঠেলাতে পারেন:

git push

এবং আপনি গিটহাব ইন্টারফেসে পরিবর্তনটি দেখতে পাবেন।


14
অন্য কথায়, এটি ঠিক আপনার গিট সংগ্রহস্থলের ফাইলগুলিতে অন্যান্য অপারেশনের মতো।
14:46

2
@ লাইটনেসএকসিনআরবিত জিজ্ঞাসাবাদী এতদূর তাদের সমস্ত পরিবর্তনের জন্য ওয়েব ইউআই ব্যবহার করছেন বলে মনে হয়।
ব্যবহারকারী 253751

5

না, গিটটি যেভাবে কাঠামোগত করা হয়েছে তার জন্য সরাসরি অপারেশন হিসাবে এটি করার কোনও উপায় নেই।

গিটটি যেভাবে কাজ করে তা হ'ল এটি সমস্ত ইতিহাস সহ পুরো সংগ্রহস্থলের অনুলিপি প্রতিটি একক স্থানে সংরক্ষণ করে।

গিথুব, বা বিটবকেট, বা অন্য কোনও হোস্টিং সরবরাহকারী মূলত আপনার গিট সংগ্রহস্থলের কেবল একটি অনুলিপি, উপরে একটি সুন্দর ওয়েব ইন্টারফেস রয়েছে, যা বেশিরভাগ ওয়ার্কফ্লোতে সত্যের কেন্দ্রীয় উত্স হিসাবে বিবেচিত হয়, তবে গিট ইউটিলিটি এটি জানেন না।

পরিবর্তনগুলি কমিট হিসাবে ট্র্যাক করা হয়। আমি অনুমান করছি যে এর মাধ্যমে direct operation, আপনি প্রতিশ্রুতি না তৈরি করে ফোল্ডারের নাম পরিবর্তন করার একটি উপায়। ইতিহাসের পুনর্লিখনের মাধ্যমে এটি সম্ভব হলেও, আমি এটির সুপারিশ করব না, বিশেষত যদি গিট রেপির অনুলিপি সহ একাধিক লোক / মেশিন থাকে, কারণ এটি অসঙ্গতি হতে পারে।

গিট রেপোতে ফোল্ডারের নামকরণের সবচেয়ে সহজ উপায় হ'ল স্থানীয়ভাবে এটি ক্লোন করা

git clone [url]
cd [git-folder]

আপনার কাছে ইতিমধ্যে রেপোর স্থানীয় অনুলিপি থাকলে দূরবর্তী রেপোতে আপ টু ডেট আছেন তা নিশ্চিত করতে এটি টানুন

git pull

স্থানীয়ভাবে আপনার প্রয়োজনীয় পরিবর্তনগুলি করুন

git mv local xyz

যা গিথুব দ্বারা স্বয়ংক্রিয়ভাবে মঞ্চ অঞ্চলে যুক্ত করা উচিত। তারপরে আপনার এই পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ এবং ধাক্কা দেওয়া উচিত।

git commit -m 'Renamed local to xyz'
git push

এটি আপনার স্থানীয় সংগ্রহস্থলে পরিবর্তন আনতে বাধ্য করবে, তারপরে এই পরিবর্তনগুলিকে সংগ্রহস্থলের দূরবর্তী অনুলিপিটিতে চাপিয়ে দেবে G


8
না, ইতিহাস কমিটের মধ্যে পরিবর্তন হিসাবে সংরক্ষণ করা হয় না , প্রতিটি প্রতিশ্রুতি স্বাবলম্বী। কমিটের মধ্যে পরিবর্তনগুলি যখনই প্রয়োজন হয় ততবার অনুরোধে পুনরায় গণনা করা হয়।
স্টিফেন কিট

3
"সব ইতিহাস প্রতিটি অবস্থান ডাউনলোড করা হয়" - নাgit clone --depth
user11153

2
এর জন্য ইতিহাস পুনর্লিখনের প্রয়োজন হবে না - গিটহাব কেবল এটি করার জন্য একটি প্রতিশ্রুতি তৈরি করতে পারে। (ঠিক যেমন ওয়েবসাইটে সরাসরি ফাইল সম্পাদনা করার সময় এটি ইতিমধ্যে ঘটে does)
ব্যবহারকারীর6868

0

গিটহাব এপিআই ব্যবহার করে, ডিরেক্টরিটিকে ক্লোনিং না করে ডিরেক্টরিটির নামকরণ করা সম্ভব। আমি কোন প্রয়োগ সম্পর্কে অজানা।

সূত্র: https://stackoverflow.com/a/31567094/370786

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.