গিট সমস্ত শাখা দেখায় (তবে স্ট্যাশ করে না) লগতে


85

আমার একটি গিট ওরফে আছে যা এতে প্রসারিত:

git log --graph --oneline --all --decorate

man git logসন্দেহ অনুসারে কয়েকটি বিকল্প রয়েছে: --notএবং --branches; তবে আমি এটি সঠিকভাবে কাজ করতে পারি না।

স্ট্যাশগুলি লুকানোর জন্য আমি কীভাবে এটি সম্পাদনা করব?


এফওয়াইআই : গৃহীত প্রশ্ন অনুসারে এবং মন্তব্য করা আমার .gitconfigউত্তরটি এখন এর মতো দেখাচ্ছে:

[alias]
    l = log --branches --remotes --tags --graph --oneline --decorate --notes HEAD

উত্তর:


125

--allস্ট্যাশগুলি ফিল্টার করার চেষ্টা করে এবং এর পরিবর্তে এগুলিকে প্রথম স্থানে অন্তর্ভুক্ত করবেন না:

git log --branches --remotes --tags --graph --oneline --decorate

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


4
দুর্দান্ত! আমি --tagsসম্পূর্ণতা যোগ করতে হবে ।
সিউরাস

আমি অনর্থক বলে সন্দেহ করব --tags, যেহেতু কোনও ট্যাগ কখনও headশাখার বা দূরবর্তী অঞ্চলের বংশধর হওয়া উচিত নয়, যদিও আমি এটি যাচাই করে নিই।
অ্যান্ড্রু মার্শাল

4
শুধু এই চেষ্টা: git checkout -b test; একটি অঙ্গীকার যুক্ত; git tag foo; git checkout master; git branch -D test। ট্যাগটি রয়েছে তবে এটি ছাড়া প্রদর্শিত হবে না --tags
সিউরাস

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

6

আমার নাম:

[alias]
    l = log --oneline --decorate --graph --exclude=refs/stash

এই ক্ষেত্রে আপনি স্ট্যাশ না দেখিয়ে এই ফর্মগুলি ব্যবহার করতে সক্ষম হবেন:

  • git l বর্তমান শাখার জন্য
  • git l feature234 একটি নির্দিষ্ট শাখার জন্য
  • git l --all সামগ্রিক ইতিহাসের জন্য

ম্যানুয়াল থেকে:

--excolve = <গ্লোব প্যাটার্ন>

পরের - সমস্ত, - শাখা, - ট্যাগগুলি, - রেমোটস, বা --glob অন্যথায় বিবেচনা করবে এমন রেফগুলি মিলবে না।


4
নোট করুন যে প্যারামিটারগুলির ক্রমের ক্ষেত্রে: --all --exclude=refs/stashএখনও স্ট্যাশ অন্তর্ভুক্ত --exclude=refs/stash --allথাকবে , যখন এটি সঠিকভাবে বাদ দেবে।
মিখাইল বুশটাইন

4

নোট করুন যে অ্যান্ড্রুয়ের উত্তর স্টাজিট ১.) শাখাগুলি <branch>.stgit(স্টজিট সংস্করণ ০.০৫ থেকে ) লুকিয়ে রাখার জন্য কাজ করবে না যা আউটপুটটিকে অকেজো করে তোলে lit

বর্তমানে আমি নিম্নলিখিত সমাধানটি ব্যবহার করছি:

$ git log --graph --oneline --decorate \
  $(git for-each-ref --format="%(refname)" refs/heads/ refs/remotes/ |
    grep -v "\.stgit$")

1.) স্টজিট (" সেন্ট অ্যাক্ট গিট ") গিটার / এমকিউ - যেমন গিটকে কার্যকারিতা সরবরাহ করে (অর্থাত্ স্ট্যাকের কাছে / থেকে প্যাচগুলি পপিং করা) like


ব্যবহার বিবেচনা করুন --exclude। লাইক:git log --graph --exclude=refs/heads/*.stgit --exclude=refs/patches/* --exclude=refs/stash --all
গ্যাভেনকোয়া
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.