Lebih
Cara tag tua komit dalam Git?
Kita baru untuk git, dan saya ingin mencetak tag di awal repositori kami. Kami kode produksi adalah sama seperti awal repository, tapi kami've terbuat melakukan sejak saat itu. Tag di awal akan memungkinkan kita untuk "roll back" produksi untuk diketahui, negara yang stabil.
Jadi bagaimana untuk menambahkan tag untuk sewenang-wenang, lebih tua lakukan?
866
8
Contoh:
Di mana
9fceb02
adalah bagian awal komit id.Anda kemudian dapat mendorong tag menggunakan git push origin v1.2`.
Anda dapat melakukan
git log
untuk menampilkan semua komit id's anda saat ini cabang.Ada juga yang baik bab tag dalam Pro Git buku.
Peringatan: hal Ini menciptakan kategori dengan tanggal saat ini (dan nilai itu adalah apa yang akan menunjukkan pada GitHub rilis halaman, misalnya). Jika anda ingin tag untuk tanggal dengan melakukan upload, silahkan lihat di jawaban lain.
Hanya Kode
Detail
Jawaban oleh @dkinzer menciptakan kategori yang tanggalnya adalah tanggal saat ini (ketika anda berlari
git tag
perintah), not tanggal dilakukannya. Git membantu untuktag
memiliki bagian _"Pada Backdating Kategori"_ yang mengatakan:Halaman "Bagaimana untuk Tag di Git" menunjukkan kepada kita bahwa kita dapat mengekstrak saat KEPALA komit melalui:
Kita bisa mengekstrak tanggal tertentu melakukan melalui:
Namun, bukannya mengulang melakukan dua kali, tampaknya lebih mudah untuk mengubah KEPALA yang komit dan menggunakannya secara implisit di kedua perintah:
Cara paling sederhana untuk melakukan ini adalah
git tag v1.0.0 f4ba1fc
dengan
f4ba1fc
menjadi awal dari hash komit ingin anda tagv1.0.0
menjadi versi yang ingin anda tag.Gunakan perintah:
Dimana v1.0 adalah nama tag dan ec32d32 adalah melakukan yang ingin anda tag
Setelah selesai anda dapat mendorong tag oleh:
Referensi:
Git (revisi kontrol): Bagaimana saya dapat tag tertentu sebelumnya melakukan titik di GitHub?
OK, Anda hanya dapat melakukan:
Jadi jika anda ingin menambahkan tag: 1.0.2 untuk melakukan
e50f795
, hanya cukup melakukan:Juga anda tambahkan pesan pada akhirnya, dengan menggunakan
-m
, sesuatu seperti ini:Setelah semua, anda perlu untuk mendorong ke
remote
, untuk melakukan itu, cukup lakukan:Jika anda memiliki banyak kategori yang anda don't ingin menyebutkan mereka satu per satu, hanya cukup melakukan:
untuk mendorong semua kategori bersama-sama...
Juga, saya membuat langkah-langkah pada gambar di bawah ini, untuk klarifikasi lebih lanjut dari langkah-langkah:
Anda juga dapat menambahkan tag di Hub atau menggunakan alat-alat seperti SourceTree, untuk menghindari langkah-langkah sebelumnya, saya log-in ke saya Bitbucket dalam kasus ini dan melakukan itu dari sana:
No tag
, dan klik pada ikon+
:Ini adalah pertanyaan lama, dan jawaban yang sudah diberikan semua bekerja, tapi ada's juga merupakan pilihan yang dapat dipertimbangkan.
Jika anda're menggunakan SourceTree untuk mengelola repositori git anda, anda dapat klik kanan pada setiap komit dan menambahkan tag untuk itu. Dengan satu klik anda juga dapat mengirim tag langsung ke cabang asal.
Bangunan atas jawaban dari orang lain, di sini adalah satu-liner solusi yang menetapkan tag untuk tanggal ketika itu benar-benar terjadi, dijelaskan menggunakan tag dan tidak memerlukan
git checkout
:di mana
tag
adalah set yang diinginkan tag string, danberkomitmen
untuk melakukan hash.Jawaban oleh @Phrogz besar, tapi doesn't bekerja pada Windows. Berikut ini's bagaimana untuk tag tua komit dengan melakukan's asli saat menggunakan Powershell:
lang-powershell git checkout 9fceb02 $env:GIT_COMMITTER_DATE = git show --format=%iklan | Pilih -1 Pertama git tag v1.2 git checkout master