git config --get-regexp "branch\.$current_branch\.remote"
akan memberi Anda nama remote yang dilacak
git config --get-regexp "branch\.$current_branch\.merge"
akan memberi Anda nama cabang jarak jauh yang dilacak.
Anda harus mengganti $ current_branch dengan nama cabang Anda saat ini. Anda bisa mendapatkannya secara dinamisgit rev-parse --abbrev-ref HEAD
Skrip mini berikut menggabungkan hal-hal itu. Masukkan ke dalam file bernama git-tracking
, buat itu bisa dieksekusi, dan pastikan itu ada di jalur Anda.
maka Anda bisa mengatakannya
$ git tracking
<current_branch_name>-><remote_repo_name>/<remote_branch_name>
perhatikan bahwa nama cabang jarak jauh dapat berbeda dari nama cabang lokal Anda (walaupun biasanya tidak). Sebagai contoh:
$git tracking
xxx_xls_xslx_thing -> origin/totally_bogus
seperti yang Anda lihat dalam kode, kunci untuk ini adalah mengekstraksi data dari konfigurasi git. Saya hanya menggunakan sed untuk menghapus data asing.
#!/bin/sh
current_branch=$(git rev-parse --abbrev-ref HEAD)
remote=$(git config --get-regexp "branch\.$current_branch\.remote" | sed -e "s/^.* //")
remote_branch=$(git config --get-regexp "branch\.$current_branch\.merge" | \
sed -e "s/^.* //" -e "s/refs\/.*\///")
echo "$current_branch -> $remote/$remote_branch"