গিট শাখা: মাস্টার বনাম উত্স / মাস্টার বনাম রিমোটস / উত্স / মাস্টার


201

আমি মনে করি গিটের প্রাথমিক ধারণাটি বুঝতে আমি সঠিক পথে রয়েছি।

আমি ইতিমধ্যে একটি রিমোট রিপোজিটরি সেট আপ করেছি এবং ক্লোন করেছি। আমি একটি সার্ভার সাইড খালি সংগ্রহস্থলও তৈরি করেছি এবং আমার স্থানীয় সংগ্রহশালাটিকে এর সাথে সংযুক্ত করেছি।

আমার সমস্যা হ'ল আমি এর মধ্যে পার্থক্য বুঝতে পারি না:

  • উত্স / মাস্টার বনাম রিমোটস / উত্স / মাস্টার

আমি যতদূর বুঝতে পেরেছি, মাস্টার একটি স্থানীয় শাখা এবং রিমোটস / উত্স / মাস্টার একটি দূরবর্তী শাখা ।

তবে উত্স / মাস্টার ঠিক কী ?


1
@ ক্রিস্টোফারওয়্যালেস: আপনি নিজের সম্পাদনা দিয়ে মেটাতে দুটি প্রশ্ন উত্সাহিত করেছিলেন: " আমাদের কি আসলেই [মূল] ট্যাগের দরকার? " এবং " সত্য [মাস্টার] কী? "।
উত্সর্গকারীর

@ ডেডুপ্লিকেটর এটি কি সমস্যা?
nbro

@ ক্রিস্টোফারওয়ালেস: ঠিক আছে, অনেকের মনে হয় উভয় ট্যাগ (আপনি যেটি তৈরি করেছেন এবং যেটি আপনি সবে যুক্ত করেছেন) এটি খারাপ। আমি সম্মতিতে ঘটেছি, তবে সম্ভবত আলোচনার সাথে যুক্ত হওয়ার জন্য আপনার কাছে কিছু যুক্ত রয়েছে যা বিবেচনা করা হয়নি। যদি না হয়, তাই মনে হচ্ছে।
উত্সাহীকারী


ফলোআপ প্রশ্ন: কেন .git/refs/origin/masterকখনও এড়িয়ে চলবে .git/refs/remotes/origin/master? এটি এখন আমার সাথে ঘটছে এবং আমি ফেলে দেওয়া হচ্ছে।
পল

উত্তর:


219

রিমোট রিপোজিটরির একটি ক্লোন নিন এবং চালান git branch -a(সমস্ত শাখা গিট সম্পর্কে জানাতে)। এটি সম্ভবত এটির মতো দেখায়:

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

এখানে masterস্থানীয় সংগ্রহস্থলের একটি শাখা রয়েছে। রিমোট নামের remotes/origin/masterএকটি শাখা masterনামযুক্ত origin। আপনি এটি হিসাবে হয় হিসাবে হিসাবে উল্লেখ করতে পারেন origin/master:

git diff origin/master..master

আপনি এটি উল্লেখ করতে পারেন remotes/origin/master:

git diff remotes/origin/master..master

এটি একই জিনিসকে উল্লেখ করার দুটি মাত্র ভিন্ন উপায় (ঘটনাক্রমে, এই উভয় আদেশের অর্থ "আমাকে দূরবর্তী masterশাখা এবং আমার masterশাখার মধ্যে পরিবর্তনগুলি দেখান )।

remotes/origin/HEADহয় default branchজন্য দূরবর্তী নামে origin। এটি আপনাকে originপরিবর্তে কেবল বলতে দেয় origin/master


5
ভাল উত্তর. আমি মনে করি git branch -aদূরবর্তী শাখাটি remotes/origin/masterআংশিকভাবে দেখানো কারণ অন্তর্নিহিত রেফটি সঞ্চিত আছে .git/refs/remotes/origin(যদি এটি প্যাক করা না থাকে)। আমার মতে, আউটপুটটি git branch -aআরও পরিষ্কার হতে পারে, সম্ভবত একটি স্ল্যাশ ব্যতীত অন্য কিছু দিয়ে শাখার নাম থেকে দূরবর্তীটির নাম পৃথক করে।
ম্যাট হুর্ন

14
এছাড়াও মনে রাখবেন যে git branch -r, যা কেবল দূরবর্তী শাখাগুলি দেখাতে হবে তা কেবল শাখাটি দেখায় origin/masterকারণ remotes/উপসর্গের প্রয়োজনীয়তা নেই।
ম্যাট হুর্ন

3
@ মিস্টারবিস্কুট: সত্য। আউটপুট স্পষ্ট করার চেয়ে আরও বিভ্রান্তিকর। অনেক ধন্যবাদ, আমার জিজ্ঞাসার একটি দুর্দান্ত উত্তর যা আমাকে সঠিক ইঙ্গিত দিয়েছে
জন রাম্পেল

যদি আমি তাকান git logআমি দেখতে commit fa9sd8jasdf98 (HEAD -> master), কি এটার মানে কি? এই দৃষ্টান্তে প্রধান কি? আমি ভেবেছিলাম আমি বর্তমানে "মাস্টার" এবং কমিট করছি origin/master। আমার মনে হয় আমি কিছু মিশ্রিত পেয়েছি, কেউ কি পরিষ্কার করতে সাহায্য করতে পারে? সম্পাদনা হালনাগাদ: আমি মনে করি এটি পেয়েছি, হেড বর্তমানে মাস্টার শাখার দিকে ইঙ্গিত করছে তা ধরে নেওয়া কি সঠিক, যার অর্থ আমি বর্তমানে মাস্টারকে প্রত্যাবর্তন প্রক্রিয়ায় আছি?
সেবাস্তিয়ান নীলসেন

@ সেবাস্তিয়ান নিলসান হ্যাঁ আপনি ঠিক বলেছেন, হেড -> মাস্টার অংশের অর্থ আপনি বর্তমানে মাস্টার শাখায় রয়েছেন।
#RestMyCaseYourHonor

108

আমার মতো ডামিদের সংক্ষিপ্ত উত্তর (টোরেক থেকে চুরি):

  • উত্স / মাস্টারটি হ'ল "আমি যখন শেষ বার যাচাই করলাম সেখানে মাস্টার সেখানে ছিল"
  • মাস্টার হ'ল "আমি যা করছিলাম তার ভিত্তিতে মাস্টার এখানেই শেষ"

9
উত্স / মাস্টার = রিমোট মেশিনের ব্যাকআপ, গতবার আপডেট হয়েছে আপনি মাস্টারকে পরীক্ষা করেছেন = আপনার উত্স / মাস্টারের অনুলিপি
সাকুরাশিঙ্কেন

40

প্রযুক্তিগতভাবে আসলে কোনও "রিমোট" জিনিস নেই 1 আপনার Git রেপো, সেখানে শুধু স্থানীয় নাম যে উচিত অন্য নাম, বিভিন্ন রেপো মিলা। নামযুক্ত ব্যক্তিরা origin/whateverপ্রথমে আপনার ক্লোনড রেপোগুলির সাথে মিলে যাবে:

git clone ssh://some.where.out.there/some/path/to/repo # or git://some.where...

অন্যান্য রেপোর স্থানীয় কপি তৈরি করে। পথের সাথে এটি সেখানে উপস্থিত সমস্ত শাখাগুলি নোট করে এবং সেইগুলি উল্লেখ করা প্রতিশ্রুতি দেয় এবং নামগুলি অনুসারে সেগুলি আপনার স্থানীয় রেপোতে আটকে দেয়refs/remotes/origin/

আপনি কতক্ষণ আপনার আগে যাবেন তার উপর নির্ভরশীল git fetch বা "আমার কাছে কিছু.আর.আত.এখানে আমার অনুলিপি" আপডেট করার সমতুল্য, তারা চারদিকে তাদের শাখা পরিবর্তন করতে পারে, নতুন তৈরি করতে পারে এবং কিছু মুছতে পারে। আপনি যখন আপনার git fetch(বা git pullযা সত্যই আনতে হবে আরও সংযুক্ত), আপনার রেপো তাদের নতুন কাজের অনুলিপি তৈরি করবে এবং refs/remotes/origin/<name>প্রয়োজন অনুসারে সমস্ত এন্ট্রি পরিবর্তন করবে । এটি fetchআইংয়ের সেই মুহুর্ত যা সমস্ত কিছু মিলে যায় (ভাল, এটি, এবং প্রাথমিক ক্লোন এবং কিছু ক্ষেত্রেpush খুব প্রচুর আইং-মূলত যখনই গিট চেক করার সুযোগ পান gets তবে নীচে সতর্কতা দেখুন)।

গিট সাধারণত আপনি নিজের refs/heads/<name>হিসাবে উল্লেখ করেছেন<name> এবং দূরবর্তীগুলি হিসাবে উল্লেখ করে origin/<name>এবং এটি সমস্তই কাজ করে কারণ এটি কোনটি কোনটি তা স্পষ্ট। কখনও কখনও আপনার নিজের শাখার নাম তৈরি করা সম্ভব যা এটি সুস্পষ্ট নয়, তবে যতক্ষণ না ঘটে ততক্ষণ চিন্তা করবেন না। :-) গিটকে কেবল সংক্ষিপ্ততম নাম দিন যা এটি সুস্পষ্ট করে তোলে এবং এটি সেখান থেকে চলে যাবে: origin/master"যেখানে আমি শেষ বার যাচ্ছিলাম সেখানে মাস্টার সেখানে ছিলেন", এবং master"আমি যা করছি তার ভিত্তিতে মাস্টার এখানেই শেষ" । প্রয়োজন অনুযায়ী git fetch"যেখানে মাস্টার শেষ সেখানে" গিটকে আপডেট করতে চালান ।


ক্যাভেট: ১.৮.৪ এর চেয়ে পুরানো গিতের সংস্করণগুলিতে git fetchকিছু মোড রয়েছে যা "যেখানে মাষ্টার সেখানে রয়েছে" আপডেট করে না (আরও স্পষ্টতই , মোডগুলি যে কোনও দূরবর্তী ট্র্যাকিং শাখা আপডেট করে না)। চলমান git fetch origin, অথবা git fetch --all, অথবা এমনকি মাত্র git fetch, না আপডেট। চলমানgit fetch origin master না । দুর্ভাগ্যক্রমে, এই "আপডেট হয় না" মোডটি সাধারণ দ্বারা ট্রিগার করা হয় git pull। (এটি মূলত সামান্য বিরক্তি এবং এটি গিট ১.৮.৪ এবং তারপরে স্থির করা হয়েছে))


1 ঠিক আছে, একটি জিনিস যা "রিমোট" নামে পরিচিত । তবে তাও স্থানীয়! নামটি originসেই জিনিস যা গিটকে "একটি রিমোট" বলে। এটি ক্লোনটি করার সময় আপনি যে ইউআরএল ব্যবহার করেছিলেন তার মূলত এটি একটি সংক্ষিপ্ত নাম। এছাড়া কোথায় originমধ্যে origin/masterথেকে আসে। নামটিকে origin/masterএকটি রিমোট-ট্র্যাকিং শাখা বলা হয় , যা কখনও কখনও "দূরবর্তী শাখা" থেকে সংক্ষিপ্ত হয়ে যায়, বিশেষত বয়স্ক বা আরও অনানুষ্ঠানিক ডকুমেন্টেশনে।


2
আমার মতো নবজাতকের জন্য দুর্দান্ত বর্ণনা, ধন্যবাদ! তিনি কেন রেপোর গ্রাফটিতে origin/masterস্টিকার localলাগিয়েছিলেন, এবং remoteএকটিতে নয় ( স্পষ্ট করে) (আমি আন্তরিকভাবে জেসিকা কেরের "গিট হ্যাপেন্স" উপস্থাপনাটি মানুষের কাছে নতুন git: vimeo.com/46010208 এর জন্য প্রস্তাব করছি I আমি 30:00 - 30 এর মধ্যে আমার মাথা আঁচড়াচ্ছিলাম : 19.)
বড় প্রবীণ

11

আমি @ এরিচবিএসচুল্জের উত্তরটি নতুনদের জন্য সহজ করার চেষ্টা করব:

  • মূল / মাস্টার হ'ল দূরবর্তী সংগ্রহস্থলের উপর মাস্টার শাখার অবস্থা
  • মাস্টার স্থানীয় সংগ্রহস্থলের উপর মাস্টার শাখার অবস্থা

1
ভাল চেষ্টা করুন তবে আইএমএইচও ডাব্লু / আউট last time I've checkedএটি গুরুত্বপূর্ণ পয়েন্টটি
আলেক্সি মার্টিয়ানভ

6
  1. উত্স - দূরবর্তীকে নির্দেশ করতে এটি একটি কাস্টম এবং সর্বাধিক সাধারণ নাম।

$ git remote add origin https://github.com/git/git.git--- আপনি আপনার গিথুব প্রকল্পটি উত্সের সাথে সংযুক্ত করতে এই আদেশটি চালাবেন। এখানে উত্সটি ব্যবহারকারী-সংজ্ঞায়িত। আপনি এটির মাধ্যমে নাম পরিবর্তন করতে পারেন$ git remote rename old-name new-name


  1. মাস্টার - গিটের ডিফল্ট শাখার নাম মাস্টার। দূরবর্তী এবং স্থানীয় উভয় কম্পিউটারের জন্য।

  1. উত্স / মাস্টার - দূরবর্তী রেপোতে মাস্টার শাখা উল্লেখ করার জন্য এটি কেবলমাত্র পয়েন্টার। মনে রাখবেন আমি রিমোটকে মূল পয়েন্ট বলেছি।

$ git fetch origin- দূরবর্তী সংগ্রহস্থল থেকে আপনার স্থানীয় কম্পিউটারে [উত্স / মাস্টার] ডাউনলোড করুন। তার মানে আপনি যদি তাদের ব্যবহার করে মার্জ না করেন তবে এটি আপনার স্থানীয় মাস্টার শাখাকে প্রভাবিত করবে না$ git merge origin/master । এই কমান্ডটি চালানোর আগে আপনাকে যেখানে মার্জ করতে হবে সেখানে সঠিক শাখাটি পরীক্ষা করে দেখুন

দ্রষ্টব্য: আনীত সামগ্রীটি দূরবর্তী শাখা হিসাবে উপস্থাপিত হয়। আনয়ন আপনাকে আপনার প্রকল্পের অনুলিপিতে সংহত করার আগে পরিবর্তনগুলি পর্যালোচনা করার সুযোগ দেয়। আপনার এবং দূরবর্তী মধ্যে পরিবর্তন দেখানোর জন্য$git diff master..origin/master


5

একটি ব্যাখ্যা (এবং একটি বিষয় যা আমাকে বিভ্রান্ত করেছে):

"রিমোটস / অরিজিন / হেড হ'ল ডিফল্ট শাখা" সত্যই সঠিক নয়।

রিমোট / উত্স / মাস্টার হ'ল দূরবর্তী সংগ্রহস্থলের ডিফল্ট শাখা (সর্বশেষে আপনি যাচাই করেছিলেন)। হেড একটি শাখা নয়, এটি কেবল একটি শাখার দিকে নির্দেশ করে।

হেডকে আপনার কর্মক্ষেত্র হিসাবে ভাবেন। আপনি যখন এভাবে চিন্তা করেন তখন 'গিট চেকআউট ব্রাঞ্চনাম' আপনার কাজের ক্ষেত্রের ফাইলগুলি কোনও নির্দিষ্ট শাখার হিসাবে পরিবর্তন করার ক্ষেত্রে বিবেচনা করে। আপনি আপনার কর্মক্ষেত্রের শাখা ফাইলগুলিকে "চেকআউট" করেন। সমস্ত ব্যবহারিক উদ্দেশ্যে মাথা আপনার কর্মক্ষেত্রে আপনার কাছে দৃশ্যমান is


আরও স্পষ্টতই, HEAD"একটি শাখার দিকে নির্দেশক" (আপনার স্থানীয় রেপোতে প্রকৃত ফাইলটি প্রায়শই স্ট্রিং ধারণ করে ref: refs/heads/master, উদাহরণস্বরূপ ... এটি যদি "বিযুক্ত" না হয়, যা সম্পূর্ণ অন্য জিনিস)। যাইহোক, clone"রিমোট হেড" এর ব্যাখ্যা করার মতো পদ্ধতিতে একটি বাগ রয়েছে : স্থানান্তর প্রোটোকলগুলি একেবারেই একটি পরোক্ষ শাখা পাঠাতে পারে না, কেবল একটি কাঁচা এসএইএ -1, তাই গিটের একটি ক্লোজ রয়েছে যা এটি "বেশিরভাগ কাজ" করে তোলে। প্রতি একবারে যখন কেউ একটি অদ্ভুত ঘটনা জুড়ে হোঁচট খায়। আমি remotes/origin/HEAD
একধরনের ইচ্ছা গিটটি

2

আমি মনে করি এই গিট স্ল্যাশ স্বরলিপিটি সম্ভবত আপনার .gitফোল্ডারের ভিতরে দেখে বোঝা যাবে ।


উদাহরণস্বরূপ, এখানে LibreOffice উত্স বেসের জন্য আমার .git এর কিছুটা সংক্ষিপ্ত বিবরণ গাছ।

ইন লিনাক্স sudo apt-get install tree এই দেখতে দরকারী।
ইন উইন্ডোজ আমি মনে করিtree কমান্ড কাজ করতে পারে এখনও।

নীচে স্ক্রোল করুন এবং নীচের কাছাকাছি রেফগুলি (ওরফে 'রেফারেন্স') দেখুন:

$ tree  
.  
├── branches  
├── config  
├── description  
├── FETCH_HEAD  
├── gitk.cache  
├── HEAD  
├── hooks  
│   ├── applypatch-msg.sample  
    ...
├── index  
├── info  
│   └── exclude  
├── logs  
│   ├── HEAD  
│   └── refs  
│       ├── heads  
│       │   ├── master  
│       │   └── remotes  
│       │       └── origin  
│       └── remotes  
│           └── origin  
│               ├── distro  
│               │   ├── cib  
│               │   │   └── libreoffice-6-0  
│               │   ├── collabora  
│               │   │   └── cp-6.0  
│               │   └── lhm  
│               │       └── libreoffice-5-2+backports  
│               ├── HEAD  
│               ├── libreoffice-6-2  
│               ├── master  
│               └── private  
│                   └── mst  
│                       └── sw_redlinehide_4a  
├── objects  
│   ├── info  
│   └── pack  
│       ├── pack-b80087dc57e2b3315f449ca0f1aaa91987bf0c5e.idx  
│       ├── pack-b80087dc57e2b3315f449ca0f1aaa91987bf0c5e.pack  
│       ├── pack-eb4e6808029e712d8d9c2671accbbd98aaeb9a04.idx  
│       └── pack-eb4e6808029e712d8d9c2671accbbd98aaeb9a04.pack  
├── ORIG_HEAD  
├── packed-refs  
└── refs  
    ├── heads  
    │   ├── master  
    │   └── remotes  
    │       └── origin  
    ├── remotes  
    │   └── origin  
    │       ├── distro  
    │       │   ├── cib  
    │       │   │   └── libreoffice-6-0  
    │       │   ├── collabora  
    │       │   │   └── cp-6.0  
    │       │   └── lhm  
    │       │       └── libreoffice-5-2+backports  
    │       ├── HEAD  
    │       ├── libreoffice-6-2  
    │       ├── master  
    │       └── private  
    │           └── mst  
    │               └── sw_redlinehide_4a  
    └── tags  
        └── libreoffice-6-2-branch-point  

32 directories, 45 files

এটি যদি এমনভাবে রাখা হয় তবে এটি কম বিভ্রান্তির কারণ হতে পারে, তবে এটি ছিল না:

repositories (i.e. independent trees)
├──local
│  └──master
│
└──origin1
│  └──master
└──origin2
   └──master

আমাদের তিনটি প্রাথমিক ধরণের রেফারেন্স রয়েছে: মাথা , রিমোট এবং ট্যাগ

  • .git / refs / মাথা আমাদের স্থানীয় মাস্টারকে ধরে রাখে ।

  • .git / রেফার্স / রিমোটগুলি বেশ কয়েকটি রিমোট রাখতে পারে, যদিও এই মুহুর্তে আমাদের কেবল এটির উত্স রয়েছে।

  • .git / refs / ট্যাগ (অন্যত্র আলোচনা করা হয়)।

উত্স এইভাবে, আমাদের এক এবং একমাত্র দূরবর্তী। এটি উত্স / মাস্টার ধারণ করে ।


আমরা যে আমরা 2 আছে মস্তক (বর্তমান শাখাগুলির দিকে নির্দেশক), একটি স্থানীয় এবং একটি রিমোট:

$ cat .git/HEAD                        #         local:  HEAD -> master
ref: refs/heads/master

$ cat .git/refs/remotes/origin/HEAD    # remote origin:  HEAD -> master
ref: refs/remotes/origin/master

আপনি যদি আপনার শাখা তালিকাবদ্ধ :

$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/aoo/aw080
  remotes/origin/aoo/trunk
  remotes/origin/distro/capgemini/cg-4.1
  remotes/origin/distro/cib/libreoffice-5-0
  remotes/origin/distro/cib/libreoffice-5-1
  remotes/origin/distro/cib/libreoffice-5-2
  ...
  • প্রথম শাখা তালিকাভুক্ত ( মাস্টার ) কেবলমাত্র একটি যা দূরবর্তী নয়। সুতরাং এই ক্ষেত্রে আমাদের একটি স্থানীয় শাখা আছে। আমাদের নতুন শাখা এবং পরবর্তী কমিটের জন্য আমরা এখান থেকেই আমাদের নিজস্ব কাজ শুরু করব।

এর পরে, আপনার অনেক দূরবর্তী ট্র্যাকিং শাখা থাকতে পারে এবং আমরা এখানে করি। আপনি জানেন যে এগুলি দূরবর্তী ট্র্যাকিং শাখাগুলি কারণ এটি ' রিমোট / ' উপসর্গযুক্ত । এখানে প্রদর্শিতগুলি দূরবর্তী নামের উত্সের জন্য।

  • সুতরাং দ্বিতীয় লাইনটি মূলটির বর্তমান শাখা পয়েন্টার। রিমোটস / উত্স: হেড - পয়েন্টগুলি -> মাস্টার এটি দেখায় যে দূরবর্তী সংগ্রহস্থলে বর্তমান শাখাটি তাদের শাখা নামযুক্ত মাস্টার named , (আমাদের স্থানীয় শাখাকে মাস্টার হিসাবে বিভ্রান্ত করবেন না )।

  • অবশিষ্ট শাখাগুলি আপনার .git / refs / ট্রি তে পাওয়া যায় না, বরং আপনি সেগুলি খুঁজে পাবেন .git/packed-refs

যখন আমরা গিট পেতে আমাদের রিমোট ট্র্যাকিংয়ের সংগ্রহস্থলের মধ্যে রিমোট রিপোজিটরি থেকে পরিবর্তনগুলি ডাউনলোড করি।

যখন আমরা মার্জ গিট এই স্থানীয়, দূরবর্তী ট্র্যাকিংয়ের সংগ্রহগুলির পরিবর্তনগুলিকে আমাদের কর্মক্ষম স্থানীয় শাখা বা শাখাগুলিতে এক্ষেত্রে আমাদের মাস্টার শাখায় মার্জ করি।

(যখন আমরা গিট টান করি একটি অপারেশনে এই দুটি পদক্ষেপই করি)


মাস্টারদের জন্য এই স্থানীয় এবং দূরবর্তী ইউআইডিগুলি বর্তমানে একই নোডের দিকে লক্ষ্য করা আকর্ষণীয় (আর্ফ 'কমিট'):

$ cat refs/heads/master                   # local         master
1ca409292272632f443733450313de5a82c54a9c

$ cat refs/remotes/origin/master          # remote origin master
1ca409292272632f443733450313de5a82c54a9c

সুতরাং আমাদের স্থানীয় মাস্টার রিমোটের উত্স মাস্টার হিসাবে একই জায়গায় নির্দেশ করেছেন:

[local] master = [remote] origin master

শেষ পর্যন্ত, আমি এটি একবার দেখে নেওয়াও দরকারী বলে মনে করি .git/packed-refs

$ cat packed-refs 
# pack-refs with: peeled fully-peeled 
3c1d4742e649fe9c8aed8c2817fe3e1f3364f298 refs/remotes/origin/aoo/aw080
e87c8b7922e9a73e0abb7f9a7a47c9ac3374a826 refs/remotes/origin/aoo/trunk
b70fdffb041c12f124dcc0822b61bf3450e53137 refs/remotes/origin/distro/capgemini/cg-4.1
5dbc3f1754809b9489faaf380b1a4bdbcfbb6205 refs/remotes/origin/distro/cib/libreoffice-5-0
cfdbc96ca47d68d6785fd21829a8d61f49d6e591 refs/remotes/origin/distro/cib/libreoffice-5-1
5189c8c47461ef09739086e55512fc6a10245273 refs/remotes/origin/distro/cib/libreoffice-5-2
3bee5917569ca8e6ee3b086458f5b1a917b88ca1 refs/remotes/origin/distro/cib/libreoffice-5-3
92fbe703f9ca480d3a2b8610d87e991c729edf77 refs/remotes/origin/distro/cib/libreoffice-5-4
05c0a5df66cc69d75280f05b804cf82f3387d42b refs/remotes/origin/distro/cib/libreoffice-6-0
7fe193e759b24b90852e6e327115b77114d7b119 refs/remotes/origin/distro/cib/libreoffice-6-1
8187f7aa413e7ef7b377eea2b057d336bf256867 refs/remotes/origin/distro/collabora/cd-5.3
7a6b608591e21ef61dc05cff9fc58da531035755 refs/remotes/origin/distro/collabora/cd-5.3-3.1
....

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

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