git download - বিদ্যমান ফোল্ডারে "ক্লোন গিট" করার সর্বোত্তম অনুশীলন কী?




6 Answers

এটি একটি নতুন ডিরেক্টরিতে ক্লোন করার মাধ্যমে, আপনার বিদ্যমান ডিরেক্টরিতে .git ডিরেক্টরিটি সরানোর মাধ্যমে করা যেতে পারে।

আপনার বিদ্যমান ডিরেক্টরি "কোড" নামকরণ করা হয়।

git clone https://myrepo.com/git.git temp
mv temp/.git code/.git
rm -rf temp

ক্লোন কমান্ডের সময় চেকআউট না করেও এটি করা যেতে পারে; আরো তথ্য here পাওয়া here

tutorial github

আমি প্রকল্পের একটি কাজ কপি আছে, কোন উৎস নিয়ন্ত্রণ মেটা তথ্য ছাড়া। এখন, আমি এই ফোল্ডারে গিট ক্লোন সমান করতে চাই এবং আমার স্থানীয় পরিবর্তনগুলি রাখতে চাই।

গিট ক্লোন আমাকে একটি বিদ্যমান ফোল্ডারে ক্লোন করার অনুমতি দেয় না। এখানে সেরা অনুশীলন কি?




আমি নতুন ডিরেক্টরিতে git clone এবং বিদ্যমান ক্লায়েন্টের সামগ্রীটি নতুন git clone অনুলিপি করব।




একটি temp ডিরেক্টরি ব্যবহার করে জরিমানা, কিন্তু আপনি যদি পদক্ষেপটি এড়াতে চান তবে এটি কাজ করবে। আপনার কাজের নির্দেশিকা রুট থেকে:

$ rm -fr .git
$ git init
$ git remote add origin your-git-url
$ git fetch
$ git reset --mixed origin/master



এই দুটি পন্থা আছে। যেখানে সম্ভব আমি আপনার নতুন গিট ওয়ার্কিং ডিরেক্টরিের জন্য একটি পরিচ্ছন্ন ফোল্ডার দিয়ে শুরু করব এবং তারপরে পরবর্তীতে আপনার সংস্করণটি অনুলিপি করব। এটি * মত কিছু দেখতে পারে:

mv $dir $dir.orig
git clone $url $dir
rsync -av --delete --exclude '.git' $dir.orig/ $dir/
rm -rf $dir.orig

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

অন্য দিকে যদি আপনি সত্যিই এটি অন্য উপায় কাছাকাছি করতে হবে, আপনি এই মত কিছু সঙ্গে একই ফলাফল পেতে পারেন:

cd $dir
git clone --no-checkout $url tempdir
mv tempdir/.git .
rmdir tempdir
git reset --mixed HEAD

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

* উভয় উদাহরণ আপনার প্রকল্পটির মূল ডিরেক্টরির মধ্যে শেল থেকে শুরু করে অনুমান করে।




একটি খালি বিদ্যমান ডিরেক্টরির মধ্যে একটি জিট রেপো ক্লোন করতে নিম্নলিখিত কাজ করুন:

cd myfolder
git clone https://myrepo.com/git.git . 

লক্ষ্য করুন . আপনার git clone কমান্ড শেষে। যে বর্তমান কাজ ডিরেক্টরি মধ্যে repo ডাউনলোড হবে।




আপনি কমপক্ষে গিট 1.7.7 ব্যবহার করছেন (যা --config বিকল্প clone শিখিয়েছে), বর্তমান ডিরেক্টরিটি একটি কার্যকর অনুলিপিতে পরিণত করতে:

git clone example.com/my.git ./.git --mirror --config core.bare=false

এটি দ্বারা কাজ করে:

  • একটি নতুন .git ফোল্ডারে সংগ্রহস্থল ক্লোন
  • .git একটি .git মেটাডেটা ফোল্ডারে নতুন ক্লোন করে তোলে। .git হতে হবে
  • --config core.bare=false --mirror বিকল্পের implicit bare=true countermands, ফলে রিপোজিটরিটিকে একটি সম্পর্কিত কাজের নির্দেশিকা এবং স্বাভাবিক ক্লোন হিসাবে কাজ করার অনুমতি দেয়।

আপনি যদি একটি কাজ কপি চালু করতে চান ডিরেক্টরি একটি .git মেটাডেটা ডিরেক্টরি ইতিমধ্যে বিদ্যমান থাকলে এটি সম্ভবত কাজ করবে না।




Related

git

Tags

git