Di Atlassian SourceTree, bagaimana cara mengetahui tag mana yang hanya lokal dan yang juga di remote?
Saat membuat tag, Anda mendapatkan opsi "Tag push to: ...", tetapi bagaimana cara mengetahui apakah tag telah didorong atau belum setelah tag itu dibuat? Saya dapat melihat semua tag saya secara lokal, tetapi saya harus memastikan bahwa mereka ada di jarak jauh sehingga pengembang lain dapat menariknya.
git
atlassian-sourcetree
cprcrack
sumber
sumber
Jawaban:
Bahkan tanpa kloning atau pengambilan, Anda dapat memeriksa daftar tag pada repo hulu dengan
git ls-remote
:(seperti yang diilustrasikan dalam " Ketika mendaftar git-ls-remote mengapa ada"
^{}
"setelah nama tag? ")xbmono mengilustrasikan dalam komentar bahwa kutipan diperlukan:
Perhatikan bahwa Anda selalu dapat mendorong komit dan tag Anda dalam satu perintah dengan (git 1.8.3+, April 2013):
Lihat Tag & komitmen push git secara bersamaan .
Mengenai Atlassian SourceTree secara khusus:
Perhatikan bahwa, dari utas ini , SourceTree ONLY menunjukkan tag lokal.
Ada RFE (Request for Enhancement) yang masuk
SRCTREEWIN-4015
sejak Desember 2015.Solusi sederhana:
lihat daftar hanya tag yang tidak dicopot?
Dengan begitu, Anda akan "yakin bahwa mereka hadir di jarak jauh sehingga pengembang lain dapat menarik mereka".
sumber
git push --tags
vsgit push --follow-tags
refs/tags/MyTag^{}
mendapatkan komit id yang terhubung ke tag itu tetapi perintahgit ls-remote
ini tidak mengembalikan apa pun. Apakah ada cara untuk mendapatkan id komit dari tag dereferenced?Anda dapat mencantumkan tag pada repositori jarak jauh
ls-remote
, dan kemudian memeriksa apakah ada di sana. Misalkan nama referensi jarak jauh adalahorigin
sebagai berikut.Dan Anda dapat mendaftar tag lokal dengan
tag
.Anda dapat membandingkan hasilnya secara manual atau dalam skrip.
sumber
git
pertanyaan untuk membiasakan dirigit
. :)Actions -> Open in Terminal
, lalu ketikgit ls-remote --tags origin
dan jalankan?