Github'da bir commit mesajıyla birden fazla sorunu kapatma


112

Taahhüt mesajı koyarak closes #1veya fixes #1mesaj ekleyerek sorunları kapatabileceğinizi biliyorum . Aynı taahhüt mesajındaki birden çok sorunu kapatmanın en iyi yolu nedir?

Ayrıca, kullanmadan anlaşılmaktadır fixesziyade closeskonuya mesaj taahhüt gelen bir bağlantı oluşturmak, ama değil does yakın sorunu. Buna ne diyorsun?


Yanıtlar:


160

Closes #1, closes #2, closes #3; rest of commit message.

closesMaddeleri mesajdaki herhangi bir yerinde olabilir ve fixesgeçerli bir eş anlamlıdır:

This fixes a memory leak in foo() that closes #4,
also fixes #5 which is a duplicate.

Aşağıdaki alışık çalışmaları, ancak günümüzde sadece referanslar sorunları 2. ve 3..

Closes #1, #2, #3


1
Bu benim için işe yaramıyor gibi görünüyor, sadece listedeki ilk öğeyi kapatıyor, diğerlerini kapatmıyor. Bu gönderiden bu yana sözdizimi değişti mi? Google'da araştırdım, ancak bu konuda çok fazla yardım yok gibi görünüyor.
Mark Bell

1
Kabul. Düzeltmeler # 1, # 2 her ikisine de başvurmak için çalışır ... ancak yalnızca # 1'i kapatır.
waldo

@waldo Bunu yazdığımda işe yaradığını düşünüyorum - bugünlerde o zaman, nasıl olur Closes #1, closes #2, closes #3? Ayrıntılı ve gereksiz, evet, ama belki işe yarıyor mu?
Jakob Borg

Evet, "Düzeltmeler # 1 - Düzeltmeler # 2 - gerçek tamamlama mesajı." işe yarıyor ve biraz mantıklı geliyor (ayrıntılı ise) - yani, tek bir commit mesajından birden çok farklı sorunu açıkça kapatıyorum ve (kapatmadan) atıfta bulunuyorum.
waldo

2
Neden davranışını değiştirdiklerine dair bir fikriniz var Closes #1, #2, #3mı? closesTek bir kapanış yerine 10 artı yakın olması gereken sayıların ve ondan sonraki tüm sayıların yazılmasını saçma buluyorum . : - /
rbaleksandar

38

Bu cevaba verilen cevap ve yorum aşağıdaki formattan bahsediyor:

# 1'i kapatır, # 2'yi kapatır, # 3'ü kapatır; Gerçek kaydetme mesajı

Katılmaya değer bir projem olsaydı ve birisi bu tür taahhüt mesajlarıyla bir çekme isteği gönderirse, kod ne kadar güzel olursa olsun çekmeyi reddederdim.

Bu sadece benim kişisel tercihimle ilgili bir mesele olabilir ve Git tarih özetlerini karıştıran commit mesajlarını sıkıştırmak için kullanılan insanlar tarafından tam anlamıyla dövülmüş olabilir, ancak şu formattaki commit mesajlarını görmeyi tercih ederim:

Yapılan değişikliğin özeti.

Aşağıdaki hatalar düzeltildi:
* Değiştirilmiş hata yükleyici, 1 numaralı düzeltmeler
* Eski olmayan bir işaretçi iade edildi, # 2 düzeltildi
* Yeni grafikler GUI öğelerine uygulandı , # 3'ü kapattı

Birden fazla sorunu kapatmanın en iyi yolunu istedi .

Ayrıca, mesajla birlikte yürütmeyi, deponuzun geçerli varsayılan dalından başka herhangi bir şubeye gönderirseniz, sorunlara yalnızca referans verileceğini unutmayın. Taahhüdün ana şubeye itilmesi sorunları kapatacaktır. Bakınız: GitHub sorun numarasına bağlantı çalışmıyor mu?


Sadece yolunu denedim. Dürüst olmalıyım, bundan gerçekten hoşlanıyorum!
Billy Coover

9

Ocak 2013'ten bu yana , "Teslim Mesajları Yoluyla Sorunları Kapatma" nın değiştiğini unutmayın:

Şimdi Fixes #33bir kesinleştirme mesajına " " girdiğinizde , sayı 33 yalnızca kaydetme varsayılan dalınızla birleştirildiğinde kapatılacaktır (genellikle master) .

Bu süper kullanışlıdır çünkü sorunun açık / kapalı durumunun varsayılan şubenizle eşleşeceği anlamına gelir.
Varsayılan şubenizde hata düzeltilmezse, sorun açık kalacaktır.
Düzeltme içeren kaydetme, varsayılan şubenizle birleştirildiğinde, sorun otomatik olarak kapatılacaktır.

Kaydetme mesajı yoluyla bir sorunu kapatmak için bu anahtar kelimelerden herhangi birini kullanabilirsiniz:

close, closes, closed, fixes, fixed

" Farklı bir daldayken GitHub Sorununun Kapatılması " sorusunda gösterildiği gibi , bu ilk başta bazı karışıklıklara neden olur.


1

"Anahtar sözcükleri kullanarak sorunları kapatma" , sorunların, etiketlerin nasıl kapatılacağını ve birden çok sorunun nasıl kapatılacağını açıklayan bir GitHub belgesidir.

Sorularınızı cevaplamak için GitHub'ın cevabı:

Birden çok sorunu kapatma

Birden fazla sorunu kapatmak için, her sorun referansının başına yukarıdaki anahtar kelimelerden biriyle başlayın. Anahtar kelimenin çalışması için başvurduğunuz her sorundan önce anahtar kelimeyi kullanmanız gerekir.

Örneğin, Bu # 34'ü kapatır, # 23'ü kapatır ve example_user / example_repo # 42'yi kapatır, aynı depodaki 34 ve 23 numaralı sorunları kapatır ve "example_user / example_repo" havuzunda # 42'yi verir.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.