গিথুবে নির্দিষ্ট লাইন নম্বরটিতে কীভাবে লিঙ্ক করবেন


371

আমি জানি আমি গিথুব রেপোতে একটি ফাইলের একটি নির্দিষ্ট লাইন নম্বরটির সাথে লিঙ্ক করতে পারি (আমি নিশ্চিত যে এটি আমি আগে দেখেছি) ...

কেউ আমাকে বলতে পারেন কীভাবে এটি করা যায়?

উত্তর:


587

কেবল লাইন নম্বরগুলিতে লিঙ্ক করবেন না! ক্যানোনিকাল ইউআরএলও ব্যবহার করতে ভুলবেন না। অন্যথায় যখন ফাইলটি আপডেট করা হয়, আপনার একটি URL থাকবে যা ভুল রেখাগুলি নির্দেশ করে!

সঠিক লাইনে স্থায়ী লিঙ্কটি কীভাবে তৈরি করবেন:

আপনি যে লাইন নম্বরটি চান তার উপর ক্লিক করুন (যেমন লাইন 18) এবং আপনার ব্রাউজারের URL টি #L18শেষের দিকে তাক পেয়ে যাবে । আপনি আক্ষরিকভাবে 18কোডের লাইন নয়, বাম দিকে বাম দিকে ক্লিক করুন । এটা এমন দেখতে:

লাইন 18 নির্বাচিত

এবং এখন আপনার ব্রাউজারের URL এর মতো দেখাচ্ছে:

https://github.com/git/git/blob/master/README#L18

আপনি যদি একাধিক লাইন বাছাই করতে চান তবে শিফট কীটি ধরে রাখুন এবং ২০ লাইনের মতো দ্বিতীয় লাইনের নম্বরে ক্লিক করুন this

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

এবং এখন আপনার ব্রাউজারের URL এর মতো দেখাচ্ছে:

https://github.com/git/git/blob/master/README#L18-L20

এখানে গুরুত্বপূর্ণ অংশটি রয়েছে:

yকীটি টিপে সেই নির্দিষ্ট প্রতিশ্রুতির জন্য ক্যানোনিকাল url পান । আপনার ব্রাউজারের ইউআরএল এই জাতীয় কিছুতে পরিবর্তিত হবে:

https://github.com/git/git/blob/5bdb7a78adf2a2656a1915e6fa656aecb45c1fc3/README#L18-L20

সেই লিঙ্কটিতে ফাইলের বর্তমান সংস্করণটি পরিবর্তে সেই নির্দিষ্ট প্রতিশ্রুতির জন্য প্রকৃত SHA হ্যাশ রয়েছে master। তার মানে এই লিঙ্কটি চিরকালের জন্য কাজ করবে এবং সেই ফাইলের ভবিষ্যতে যে সংস্করণ থাকতে পারে তার 18-20 লাইনগুলিতে নির্দেশ করবে না।

এখন আপনার নতুন স্থায়ী লিঙ্কের জ্বলজ্বলে। ;-)

আপডেট 9/29/2017: @ ওয়াতাসি শুন দ্বারা চিহ্নিত হিসাবে, গিথুব এখন ...আপনি এক বা একাধিক লাইন নির্বাচন করার পরে বামদিকে একটি মেনু সরবরাহ করে স্থায়ী লিঙ্কটি পাওয়া সহজ করেছে । দয়া করে @ ওয়াটাশিউন এর উত্তরটিও উত্সাহিত করুন

গিটহাব পারমালিঙ্ক মেনু

আপডেট 3/25/2016: পয়েন্টে কেস - উপরের উদাহরণে, আমি URL এ "README" ফাইলটি উল্লেখ করেছি। এই উত্তরটি যখন লেখা হয়েছিল তখন এই অ-নীতিবিহীন url গুলি আসলে কাজ করেছিল। কিন্তু এখন সেই url গুলিতে আর READMEস্থানান্তরিত হওয়ার পরে আর কাজ করা হয় না README.md। তবে SHA হ্যাশ সহ ক্যানোনিকাল ইউআরএল এখনও প্রত্যাশার মতোই কাজ করে।


3
Y কী আমার জন্য কিছুই করে না। এটি কি পরিবর্তন করা হয়েছে? গুগল ক্রোম দেব চ্যানেল থেকে চেষ্টা করা।
k0pernikus

4
এটি এখনও কাজ করে ... দস্তাবেজগুলি এখনও yকীটি ব্যবহার করতে বলে ... help.github.com/articles/getting-permanent-links-to-files
broc.seib

2
যে শিফট + একটি ব্লকের জন্য দ্বিতীয় লাইনে ক্লিক করুন ভাল! আমি দ্বিতীয় লাইন যুক্ত করতে ম্যানুয়ালি ইউআরএল সম্পাদনা করছি :)। যদিও প্রশ্নটি অনুসরণ করুন, আমি যদি লাইন 2, 4 এবং 17-22 থেকে হাইলাইট করতে চান তবে কী হবে? এটি কি সম্ভব বা আমি একবারে কেবল একটি ব্লক হাইলাইট করতে পারি?
পেন্টেন্ট

3
@ tr3buchet আমি গিথুব সমর্থনটি কেবল পিন করেছি - এই মুহূর্তে এটি সম্ভব নয়। তারা বলেছে যে তারা বৈশিষ্ট্যটি বিবেচনা করবে, কিন্তু কোনও প্রতিশ্রুতি দেবে না। আমি প্রস্তাব দিয়েছিলাম যে ফর্ম্যাটটি এমন কিছু হতে পারে L18-L20,L29এবং যে কোনও ব্যক্তি CTRLপরপর লাইন যুক্ত করতে ক্লিক করতে পারে । আমি মনে করি আপনার ধারণাটি একটি দুর্দান্ত পরামর্শ এবং এটি খুব কার্যকর হবে।
broc.seib

2
যদি READMEহয় README.md?
zwcloud

56

@ broc.seib একটি পরিশীলিত উত্তর আছে , আমি কেবল উল্লেখ করতে চাই যে yস্থায়ী লিঙ্কটি পেতে চাপ দেওয়ার পরিবর্তে , গিথুব এখন একটি খুব সাধারণ ইউআই রয়েছে যা আপনাকে এটি অর্জনে সহায়তা করে

  1. লাইন নম্বরটিতে ক্লিক করে লাইন নির্বাচন করুন বা ডাউনহোল্ডিংয়ের মাধ্যমে একাধিক লাইন নির্বাচন করুন shift(আপনি ফাইল এক্সপ্লোরারে একাধিক ফোল্ডার কীভাবে নির্বাচন করেন) এখানে চিত্র বর্ণনা লিখুন

  2. আপনি নির্বাচিত প্রথম লাইনের ডানদিকে কোণায়, প্রসারিত ...এবং ক্লিক করুনcopy permalink এখানে চিত্র বর্ণনা লিখুন

  3. এটি হ'ল, নির্বাচিত লাইনগুলির সাথে একটি লিঙ্ক এবং প্রতিশ্রুতিবদ্ধ হ্যাশ আপনার ক্লিপবোর্ডে অনুলিপি করা হয়েছে : https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4

18

লাইন নম্বরটি ক্লিক করুন, এবং তারপরে ঠিকানা বার থেকে লিঙ্কটি অনুলিপি করুন এবং আটকান। একটি ব্যাপ্তি নির্বাচন করতে, নম্বরটি ক্লিক করুন এবং তারপরে পরবর্তী নম্বরটিতে শিফট করুন।

বিকল্পভাবে, লিঙ্কগুলি একটি অপেক্ষাকৃত সহজ বিন্যাস, কেবলমাত্র #L<number>সেই নির্দিষ্ট লাইন সংখ্যার জন্য শেষ পর্যন্ত সংযুক্ত করুন, ফাইলটির লিঙ্কটি ব্যবহার করে। gitসংগ্রহস্থলের তৃতীয় লাইনের লিঙ্কটি এখানে README:

https://github.com/git/git/blob/master/README#L3

হাইলাইট করা লাইন এবং পরিবর্তিত ঠিকানা লাইন সহ স্ক্রিনশট


3
ভুলে যাবেন না যদি ফাইলটি পরিবর্তন হয় তবে এই ইউআরএলটি 3 লাইনটিতে নির্দেশ করবে, এতে নতুন কোড থাকতে পারে এবং আপনি যা চেয়েছিলেন তা নাও হতে পারে! আমি আরও একটি সমাধান প্রস্তাব করেছি যা স্থায়ী লিঙ্ক দেয়। ইঙ্গিত: শুধু টিপুন y। ;-)
broc.seib

4
লিঙ্কটি ভাঙা হয়েছে

12

একটি কোড স্নিপেটে একটি Permalink একটি টান অনুরোধ মন্তব্য ক্ষেত্রে আটকানো হয়

আপনি ইস্যু, পিআর ইত্যাদি ক্ষেত্রে কোড স্নিপেটগুলি অন্তর্ভুক্ত করতে পারমিলিংস ব্যবহার করতে পারেন

তথ্যসূত্র:

https://help.github.com/en/articles/creating-a-permanent-link-to-a-code-snippet


2
খুব সুন্দর জিআইএফ!
জিওভান্নি বেনুসি

অফ-টপিকের জন্য দুঃখিত, তবে আপনি এটি তৈরি করতে কোন সরঞ্জামটি ব্যবহার করেন?
জিওভান্নি বেনুসি

@ জিওভান্নি বেনুসি এটি গিটহাব থেকে এসেছে। লিঙ্কটি দেখুন।
গায়ান ওয়েরাকুট্টি


1
@ জিওভান্নি বেনুসি আমি জানি না যে বিপরীতমুখী কী ব্যবহার করেছিল তবে মাঝে মাঝে আমি "স্ক্রেনটোগিফ" নামক একটি সুন্দর সরঞ্জাম ব্যবহার করে এই জাতীয় গিফ তৈরি
সামগামজি

6

অনেক সম্পাদক (তবে নীচের কমান্ডগুলি বিভাগটি দেখুন) গিটহাব বা বিটবকেটে (বা অন্যদের) কোনও ফাইলের লাইন নম্বর বা ব্যাপ্তির সাথে লিঙ্ক করা সমর্থন করে। এখানে একটি সংক্ষিপ্ত তালিকা:

পরমাণু

গিটহাবে খুলুন

এ গিয়ে emacs

Git-লিঙ্ক

মহামান্য পাঠ

GitLink

তেজ

gitlink-তেজ


কমান্ড

  • গিট-লিংক - গিট বস্তুর রেপো-ব্রাউজারের লিঙ্ক পাওয়ার জন্য গিট সাবকম্যান্ড mand
  • ghwd - গিথুব ইউআরএল খুলুন যা আপনার শেলের বর্তমান শাখা এবং কার্যনির্বাহী ডিরেক্টরিতে মেলে

0

README.mdকোনও নির্দিষ্ট লাইন সংখ্যার কোডের সাথে কীভাবে গিটহাব সংগ্রহস্থলের লিঙ্ক করতে হবে সম্পর্কিত

আপনার তিনটি মামলা রয়েছে:

  1. আমরা লিঙ্ক করতে পারি (কাস্টম কমিট )

    তবে লিঙ্কটি সর্বদা পুরানো ফাইল সংস্করণে লিঙ্ক করবে, উদাহরণস্বরূপ মাস্টার শাখায় নতুন আপডেট থাকবে না। উদাহরণ:

    https://github.com/username/projectname/blob/b8d94367354011a0470f1b73c8f135f095e28dd4/file.txt#L10
    
  2. আমরা (কাস্টম শাখা ) এর মতো (মাস্টার-শাখা) লিঙ্ক করতে পারি । তবে লিঙ্কটি সর্বদা সর্বশেষতম ফাইল সংস্করণে লিঙ্ক করবে যাতে নতুন আপডেট থাকবে। নতুন আপডেটের কারণে, লিঙ্কটি একটি অবৈধ ব্যবসায়ের লাইন নম্বরকে নির্দেশ করতে পারে। উদাহরণ:

    https://github.com/username/projectname/blob/master/file.txt#L10
    
  3. নিম্নলিখিত ব্যবসায়িক সমস্যার কারণে গিটহাব কোনও ফাইলের (কাস্টম কমিট) বা (মাস্টার-ব্রাঞ্চ) -তে অটো-লিঙ্ক তৈরি করতে পারে না:

    • লাইন ব্যবসায়ের অর্থ, এটি নতুন ফাইলে লিঙ্ক করা
    • টার্গেট হাইলাইট কোডের দৈর্ঘ্য যা পরিবর্তন করা যেতে পারে

0

একটি টানার অনুরোধে একটি লাইনের জন্য।

https://github.com/foo/bar/pull/90/files#diff-ce6bf647d5a531e54ef0502c7fe799deR27
https://github.com/foo/bar/pull/
90 <- PR number
/files#diff-
ce6bf647d5a531e54ef0502c7fe799de <- MD5 has of file name from repo root
R <- Which side of the diff to reference (merge-base or head). Can be L or R.
27 <- Line number

এটি যতক্ষণ না L এবং R সঠিক হয় ততক্ষণ আপনাকে একটি লাইনে নিয়ে যাবে। আমি নিশ্চিত নই যে L বা RIe দেখার কোনও উপায় আছে কিনা পিআর যদি কোনও লাইন যোগ করে তবে অবশ্যই আপনাকে অবশ্যই ব্যবহার করা উচিত R। যদি এটি কোনও লাইন সরিয়ে দেয় তবে আপনাকে অবশ্যই ব্যবহার করতে হবে L

থেকে: গিথুব পুলের অনুরোধে লাইন পয়েন্টার URL তৈরি করুন

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