git - কিভাবে আমি একটি দূরবর্তী একটি নির্দিষ্ট কমিট ধাক্কা পারেন, এবং পূর্ববর্তী না?




commit push (4)

আমি বিভিন্ন ফাইলগুলিতে কয়েকটি কাজ করেছি, কিন্তু এ পর্যন্ত আমি আমার রিমোট রিপোজিটরিতে শুধুমাত্র একটি নির্দিষ্ট কমিটিতে push করতে চাই।

এটা কি সম্ভব?

https://code.i-harness.com


অন্যান্য উত্তর reordering বিবরণ অভাব আছে।

git push <remotename> <commit SHA>:<remotebranchname>

একটি একক কমিট ধাক্কা দেবে, তবে সেই কমিটিটি আপনার স্থানীয়, নন-ধাক্কা, কৃতিত্বের OLDEST হতে হবে, উপরের, প্রথম, বা টিপ কমিটির সাথে বিভ্রান্ত হবেন না, যা আমার মতামতগুলিতে সমস্ত অস্পষ্ট বর্ণনা। কমিটি আপনার সবচেয়ে পুরানো কমিট থেকে সবচেয়ে প্রাচীনতম প্রয়োজন, অর্থাত্ দূরতম। এটি যদি প্রাচীনতম অঙ্গ না হয় তবে আপনার পুরানো, স্থানীয়, নন-ধাক্কাযুক্ত SHA থেকে নির্দিষ্ট সমস্ত SHA তে করা হবে। Commits ব্যবহার reorder করার জন্য:

git rebase -i HEAD~xxx

Commitটি পুনর্বহাল করার পরে আপনি নিরাপদে রিমোট রিপোজিটরিতে এটি push করতে পারেন।

সংক্ষেপে, আমি ব্যবহৃত

git rebase -i HEAD~<number of commits to SHA>
git push origin <post-rebase SHA>:master

আমার রিমোট মাস্টার শাখা একটি একক কমিট ধাক্কা।

তথ্যসূত্র:

  1. http://blog.dennisrobinson.name/push-only-one-commit-with-git/
  2. http://blog.dennisrobinson.name/reorder-commits-with-git/

আরো দেখুন:

  1. জিট: স্থানীয় রিবেস দ্বারা অনুসরণ দ্বারা ডুপ্লিকেট Commits
  2. জিট: একক Commits চাপা, রিবেস সঙ্গে Reordering, সদৃশ Commits

আমি git rebase -i ব্যবহার করে পরামর্শ চাই; আপনি তৈরি করা commits শীর্ষে ধাক্কা করতে চান কমিট সরানো। তারপরে git log SHA পেতে git log ব্যবহার করুন, এটি পরীক্ষা করে দেখুন এবং এটি ধাক্কা দিন। রিবেসটি নিশ্চিত করবে যে আপনার সমস্ত অন্যান্য কাজগুলি এখন আপনার ধাক্কা দেয় এমন সন্তানদের, তাই ভবিষ্যতের pushগুলিও ভাল কাজ করবে।


একটি নির্দিষ্ট কমিট pushing যখন চেরি-পিক অন্যান্য অন্যান্য পদ্ধতি তুলনায় ভাল কাজ করে।

যে উপায় হল:

একটি নতুন শাখা তৈরি করুন -

git branch <new-branch>

আপনার মূল শাখা দিয়ে আপনার নতুন শাখা আপডেট করুন -

git fetch

git rebase

এই ক্রিয়াগুলি নিশ্চিত করবে যে আপনার মূলটির মতোই একই জিনিস রয়েছে।

Cherry- আপনি ধাক্কা করতে চান যে sha id বাছাই -

git cherry-pick <sha id of the commit>

আপনি চালানোর দ্বারা sha id পেতে পারেন

git log

আপনার উত্স এটা পুশ করুন -

git push

আপনি চেয়েছিলেন সবকিছু দেখতে যে দেখতে gitk চালান।


প্রদত্ত কমিটির মাধ্যমে ধাক্কা দিতে, আপনি লিখতে পারেন:

git push <remotename> <commit SHA>:<remotebranchname>

প্রদান করা <remotebranchname> ইতিমধ্যে দূরবর্তী স্থানে বিদ্যমান। (যদি এটি না হয় তবে আপনি git push <remotename> <commit SHA>:refs/heads/<remotebranchname> ব্যবহার করতে পারেন git push <remotename> <commit SHA>:refs/heads/<remotebranchname> এটি স্বয়ংসম্পূর্ণ করার জন্য।)

যদি আপনি আগের মতামত ছাড়াই কোনও কাজটি ধাক্কা দিতে চান তবে আপনাকে প্রথমে git rebase -i অর্ডার করতে git rebase -i ব্যবহার করতে হবে।





push