সোর্স ট্রি এ ধাক্কা দেওয়ার চেষ্টা করার সময় "আপডেটগুলি প্রত্যাখ্যান করা হয়েছিল কারণ ট্যাগটি ইতিমধ্যে বিদ্যমান"


117

উত্স গাছের মাধ্যমে পুশ করার চেষ্টা করার সময় আমি নিম্নলিখিত ত্রুটিটি পেয়েছি:

git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags origin refs/heads/master:refs/heads/master 
Pushing to https://user@github.com/repo.git
To https://user@github.com/repo.git
 = [up to date]      master -> master
...
 ! [rejected]        example_tag -> example_tag (already exists)
updating local tracking ref 'refs/remotes/origin/master'
error: failed to push some refs to 'https://user@github.com/repo.git'
hint: Updates were rejected because the tag already exists in the remote.
Completed with errors, see above

আমি যতদূর জানি এই ট্যাগটিতে আমি কোনও পরিবর্তন করি নি। আমি এটা কিভাবে ঠিক করবো?

উত্তর:


229

আপনি গিট ব্যাশে এটি সমাধান করতেও সক্ষম হবেন (উত্স ট্রি ইউআইতে "টার্মিনাল" বোতামে ক্লিক করুন)। টাইপ করুন:

git pull --tags

3
আমি মনে করি এটি সর্বনিম্ন প্রতিরোধের পথে এর সেরা উত্তর।
চাদ

40
একটি দ্বন্দ্বের সাথে আপনি git pull --tags -fযা করতে চান তা স্থানীয়ভাবে আপনার ওভাররাইট করতে করতে পারেন
ডেনলিলেম্যান্ড

2
সোর্সট্রি-তে, আনুন ক্লিক করুন এবং "সমস্ত ট্যাগ আনুন" সক্ষম করুন। এটা এটা করতে হবে।
অন্ধকার

116

আপনি যে ট্যাগটি রাখতে চান তাতে যদি কোনও স্থানীয় পরিবর্তন না করেন তবে আপনি যে ট্যাগটি প্রত্যাখ্যান করেছিলেন তা অপসারণ করতে পারেন কারণ এটি ইতিমধ্যে বিদ্যমান ( example_tagএই ক্ষেত্রে):

  1. ট্যাগ ডান-ক্লিক করুন এবং (নিশ্চিত করা এটি মুছে ফেলতে পছন্দ করে টিক চিহ্ন তুলে সব রিমোটের থেকে সরান ট্যাগ চেকবক্সটি)।
  2. আনয়ন বিকল্পটি চয়ন করুন (স্থানীয়ভাবে সমস্ত ট্যাগ আনুন এবং সঞ্চয় করুন সক্ষম করতে হবে না )।
  3. আপনার এখন সেই ট্যাগটি থাকা উচিত যা সবে ফিরে মুছে ফেলা হয়েছিল এবং পুশ করার চেষ্টা করা আর ত্রুটি বার্তাটি প্রদর্শন করবে না।

কারণ এই SourceTree খুবই সাধারণ বিষয় কারণ পুশ সমস্ত ট্যাগ বিকল্প সেট করা হয় উপর ডিফল্টরূপে। (এই ত্রুটিটি আড়াল করার আরেকটি উপায় হল সেই বিকল্পটি আনচেক করা))


"স্থানীয়ভাবে সমস্ত ট্যাগ আনতে এবং সঞ্চয় করতে সক্ষম হয় না" এটি আমার জন্য কী হয়েছিল, যা যাচাই করে যা সমস্যাটি নিজেই পুনরায় পুনরায় ঘটায়।
টম

ধারনা করা যে প্রবাহের (উত্স) রেপো সত্যের উত্স, এই সমাধানটি সর্বনিম্ন ধ্বংসাত্মক এবং তাত্ক্ষণিকভাবে সমস্যার সমাধান করে।
স্টিভ হান্টি

দুর্ভাগ্যক্রমে যখন আপনার 15 টি প্রত্যাখ্যাত ট্যাগগুলি 1,2, এবং 3 টি পদক্ষেপ খুব ক্লান্তিকর হতে পারে। হ্যাঁ, "সমস্ত ট্যাগ পুশ করুন" বিকল্পটি অক্ষম করা সম্ভবত যাওয়ার সঠিক উপায়।
সাগি সার্জনাডির

27

টিকচিহ্ন তুলে দিন push all tagsUI এর নীচে আপনি আপনার Git ধাক্কা নিশ্চিত


মানে push all tags?
Wodin

গ্রেট! এটি পর্যবেক্ষণ করেনি। ধন্যবাদ
মেগ -90

@ ওডিন তাই আপনি যদি ইউআইতে চেক করেন push all tagsতবে এটি পূর্ববর্তী ট্যাগগুলিকে ওভাররাইট করার চেষ্টা করবে। তবে ওভাররাইটটি রোধ করতে আপনাকে এটিকে চেক করতে হবে
জেডিভ-গানস

@ জেডিভ-গানস আমি কেবল শব্দটির সন্ধান করছিলাম। আপনি মূলত বলেছেন push all TABs। আমি সোর্স ট্রি এর সাথে পরিচিত নই, তবে আমি সন্দেহ করেছি যে আপনি এটির TAGsপরিবর্তে বোঝাতে চেয়েছিলেন TABs
Wodin

@ ওডিন ওহ গটচা! আমি মনে করি আমি বলেছিলাম TAGsকিন্তু আমি যদি তা না করি তবে আমি বলতে TABs
চাইছিলাম

15

git pull --tagsসত্যই ভাল কাজ করে কিন্তু কখনও কখনও আপনি এই আদেশ দিয়েও ত্রুটি পেতে পারেন। উদাহরণ ত্রুটি বার্তা:

 ! [rejected]        example_tag      -> example_tag  (would clobber existing tag)

কমান্ড দিয়ে এটি সমাধান করা যেতে পারে: git pull --tags -f

উৎস:

https://github.com/concourse/git-resource/issues/233


14

নিশ্চিত করুন যে আপনি ধাকানোর সময় "সমস্ত ট্যাগ পুশ করুন" বোতামটি আনচেক করেছেন।

এখানে চিত্র বর্ণনা লিখুন


উপরে উল্লিখিত হিসাবে, আপনি যদি স্থানীয়ভাবে একটি নতুন ট্যাগ যুক্ত করেন তবে এর অর্থ এটি দূরবর্তী স্থানে ধাক্কা দেয় না?
বাইটেডেভ

0

হ্যাঁ, প্রকৃতপক্ষে, আপনার আগে ট্যাগগুলি টানুন push --tags। আমার সমস্যার সমাধান।


-1

আমি সোর্স ট্রি তে সমস্যাটি এইভাবে সমাধান করি :

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