git - software - সিম কার্ড হ্যাকিং




কিভাবে আমি একটি স্থানীয় গিট রেপোজিটরিটি মূলত ক্লোন করা হয়েছিল সেই URL টি কীভাবে নির্ধারণ করতে পারি? (13)

আমি কয়েক দিন আগে গিটহুব থেকে একটি প্রকল্প টানা। আমি যেহেতু গিটহুব-এ বেশ কয়েকটি ফর্ক আবিষ্কার করেছি, এবং আমি মূলত কোনটি নেন তা নোট করার অবহেলা করেছি। আমি কিভাবে যে ফর্ক আমি টানা নির্ধারণ করতে পারেন?


আইপি ঠিকানা / origin হোস্ট নাম পেতে

ssh:// সংগ্রহস্থল:

git ls-remote --get-url origin | cut -f 2 -d @ | cut -f 1 -d "/"

git:// সংগ্রহস্থল:

git ls-remote --get-url origin | cut -f 2 -d @ | cut -f 1 -d ":"

Git 2.7 (5 জানুয়ারী, 2015 রিলিজ) দিয়ে, আপনার git remote ব্যবহার করে আরও সুসঙ্গত সমাধান রয়েছে:

git remote get-url origin

( git remote set-url origin <newurl> এর চমৎকার দুল)

বেন mathstuf ( mathstuf ) দ্বারা 96f78d3 (16 সেপ্টেম্বর 2015 ) দেখুন
( জুনিয়ো সি হামানোর সাথে gitster - gitster - e437cbd , 05 অক্টোবর 2015) :

রিমোট: পেতে-url উপcomm্যান্ড যোগ করুন

এর পরিবর্তে প্রসারিত হচ্ছে ls-remote --url insteadOf এর একটি অংশ এবং pushInsteadOf পাশাপাশি প্রসারিত করার কোন উপায় নেই।
একটি কন- get-url subcommand যুক্ত করুন এবং উভয় ক্যোয়ারী করতে সক্ষম হোন এবং সমস্ত কনফিগার করা URL পেতে একটি উপায় যোগ করুন।

get-url:

রিমোট জন্য URL গুলি উদ্ধার করে।
পরিবর্তে জন্য কনফিগারেশন এবং pushInsteadOf এখানে প্রসারিত হয়।
ডিফল্টরূপে, শুধুমাত্র প্রথম URL তালিকাভুক্ত করা হয়।

  • '- --push ' দিয়ে, ধাক্কা ইউআরএলগুলি ইউআরএল প্রাপ্তির পরিবর্তে অনুসন্ধান করা হয়।
  • ' --all ' এর সাথে, রিমোটের জন্য সমস্ত URL তালিকাভুক্ত করা হবে।

2.7 গিট আগে, আপনি ছিল:

 git config --get remote.[REMOTE].url
 git ls-remote --get-url [REMOTE]
 git remote show [REMOTE]

আপনি চেষ্টা করতে পারেন:

git remote -v

এটি আপনার সমস্ত Remotes 'fetch / push URL টি মুদ্রণ করবে।


আপনি যদি শাখাটির আপস্ট্রীম রিমোটের নামটি জানেন না তবে বর্তমান শাখাটি আপস্ট্রীম শাখা নামটির পরিদর্শন করে আপনি প্রথমে এটি দেখতে পারেন। এই মত git rev-parse ব্যবহার করুন:

git rev-parse --symbolic-full-name --abbrev-ref @{upstream}

এটি দেখায় যে বর্তমান শাখার উৎস ছিল আপস্ট্রীম শাখা। এটির মতো দূরবর্তী নাম পেতে পার্স করা যেতে পারে:

git rev-parse --symbolic-full-name --abbrev-ref @{upstream} | cut -d / -f 1

এখন এটি গ্রহণ করুন এবং এটি git ls-remote করার জন্য পাইপ করুন এবং আপনি বর্তমান শাখা উৎসের আপস্ট্রিম রিমোটের URL পাবেন:

git ls-remote --get-url \
  $(git rev-parse --symbolic-full-name --abbrev-ref @{upstream} | cut -d / -f 1)

এখন এটি উল্লেখ করা উচিত যে, এটি অগত্যা সোর্স রিমোট সংগ্রহস্থলের মতো নয় যা ক্লোন করা হয়েছিল। অনেক ক্ষেত্রে তবে এটি যথেষ্ট হবে।


আপনি স্ক্রিপ্টিং উদ্দেশ্যে এই চান, আপনি শুধুমাত্র সঙ্গে URL পেতে পারেন

git config --get remote.origin.url

আপস্ট্রিমের দূরবর্তীটিকে "মূল" বলা যেতে পারে না, তাই এখানে একটি বৈচিত্র রয়েছে:

remote=$(git config --get branch.master.remote)
url=$(git config --get remote.$remote.url)
basename=$(basename "$url" .git)
echo $basename

বা:

basename $(git config --get remote.$(git config --get branch.master.remote).url) .git

আরো দরকারী ভেরিয়েবলের জন্য আছে:

$ git config -l

আমি গিট কমান্ডের সমস্ত প্যারামিটার মনে করতে পারছি না, তাই আমি ~/.gitconfig ফাইলে একটি উপনাম ~/.gitconfig যা আমার কাছে আরো জ্ঞান দেয়, তাই আমি এটি মনে রাখতে পারি, এবং এর ফলে কম টাইপিং হয়:

[alias]
url = ls-remote --get-url

টার্মিনাল পুনরায় লোড করার পরে, আপনি শুধু টাইপ করতে পারেন:

> git url

এখানে আমার প্রায়শই ব্যবহৃত কয়েকটি আরও আছে:

[alias]
cd = checkout
ls = branch
lsr = branch --remote
lst = describe --tags

আমি মূলত ব্যবহার:

git remote get-url origin

এটি উইন্ডোজটিতে গিট বাশ কমান্ড কনসোল বা সিএমডি কমান্ড কনসোলের জন্য কাজ করে। যে বলেন, এটা গিটার সংস্করণ 2.x সঙ্গে কাজ করে।


উত্তর পেতে:

git ls-remote --get-url [REMOTE]

এই কনফিগারেশন পড়া চেয়ে ভাল; git-ls-remote জন্য ম্যান পৃষ্ঠা পড়ুন:

--get-URL

প্রদত্ত রিমোট রিপোজিটরির "url.<base>.insteadOf" কোনও "url.<base>.insteadOf" কনফিগার সেটিং "url.<base>.insteadOf" ( git-config(1) ) এবং রিমোটের সাথে কথা বলার ছাড়াই প্রস্থান করুন।

@ জেফোমি দ্বারা নির্দেশিত হিসাবে, এই বিকল্পটি v1.7.5 যোগ করা হয়েছে এবং v1.7.12.2 (2012-09) পর্যন্ত নথিভুক্ত করা হয়নি।


একটি সহজ উপায় .git/config ফাইলটি খুলতে হয়:

cat .git/config

সম্পাদনা করা:

vim .git/config বা

nano .git/config


সংক্ষিপ্ত উত্তর:

$ git remote show -n origin

অথবা, বিশুদ্ধ দ্রুত স্ক্রিপ্টের জন্য একটি বিকল্প:

$ git config --get remote.origin.url

কিছু তথ্য:

  1. $ git remote -v সমস্ত রিমোট মুদ্রণ করবে (আপনি কি চান না)। আপনি মূল অধিকার চান?
  2. $ git remote show origin অনেক ভাল, শুধুমাত্র origin দেখায় তবে খুব বেশি সময় নেয় (গিট সংস্করণে পরীক্ষা করা 1.8.1.msysgit.1)।

আমি শেষ পর্যন্ত শেষ হলাম: $ git remote show -n origin , যা দ্রুততম বলে মনে হচ্ছে। সঙ্গে এটি দূরবর্তী মাথা (AKA শাখা) আনতে হবে না। আপনি তথ্য যে ধরনের প্রয়োজন হয় না, অধিকার?

http://www.kernel.org/pub//software/scm/git/docs/git-remote.html

আপনি আবেদন করতে পারেন | grep -i fetch শুধুমাত্র তিনটি সংস্করণে fetch URL দেখানোর জন্য fetch।

আপনি বিশুদ্ধ গতি প্রয়োজন হলে, ব্যবহার করুন:

$ git config --get remote.origin.url

@Jefromi ধন্যবাদ @Jefromi জন্য ধন্যবাদ।


সংক্ষেপে, অন্তত চারটি উপায় আছে:

(নিম্নলিখিত লিনাক্স রিপোজিটরিটির জন্য নিম্নলিখিত চেষ্টা করা হয়েছিল)

সর্বনিম্ন তথ্য:

$ git config --get remote.origin.url
https://github.com/torvalds/linux.git

এবং

$ git ls-remote --get-url
https://github.com/torvalds/linux.git

অধিক তথ্য:

$ git remote -v
origin    https://github.com/torvalds/linux.git (fetch)
origin    https://github.com/torvalds/linux.git (push)

এমনকি আরও তথ্য:

$ git remote show origin
* remote origin
  Fetch URL: https://github.com/torvalds/linux.git
  Push  URL: https://github.com/torvalds/linux.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (up to date)

#!/bin/bash

git-remote-url() {
 local rmt=$1; shift || { printf "Usage: git-remote-url [REMOTE]\n" >&2; return 1; }
 local url

 if ! git config --get remote.${rmt}.url &>/dev/null; then
  printf "%s\n" "Error: not a valid remote name" && return 1
  # Verify remote using 'git remote -v' command
 fi

 url=`git config --get remote.${rmt}.url`

 # Parse remote if local clone used SSH checkout
 [[ "$url" == [email protected]* ]] \
 && { url="https://github.com/${url##*:}" >&2; }; \
 { url="${url%%.git}" >&2; };

 printf "%s\n" "$url"
}

ব্যবহার:

# Either launch a new terminal and copy `git-remote-url` into the current shell process, 
# or create a shell script and add it to the PATH to enable command invocation with bash.

# Create a local clone of your repo with SSH, or HTTPS
git clone [email protected]:your-username/your-repository.git
cd your-repository

git-remote-url origin

আউটপুট:

https://github.com/your-username/your-repository




git-remote