Hub documentation
Pull request dan Diskusi
Pull request dan Diskusi
Hub Pull requests dan Discussions memungkinkan pengguna untuk melakukan kontribusi komunitas ke repositori. Pull requests dan discussions bekerja dengan cara yang sama untuk semua jenis repositori.
Secara garis besar, tujuannya adalah membangun versi yang lebih sederhana dari PR dan Issues di host git lain (seperti GitHub):
- tidak ada fork yang terlibat: kontributor mendorong ke cabang
refkhusus langsung di repo sumber. - tidak ada perbedaan tegas antara diskusi dan PR: keduanya pada dasarnya sama sehingga ditampilkan dalam daftar yang sama.
- mereka dioptimalkan untuk ML (yaitu repositori model/dataset/spaces), bukan repositori arbitrer.
Perlu dicatat, Pull Requests dan diskusi dapat diaktifkan atau dinonaktifkan dari pengaturan repository
Daftar
Dengan membuka tab komunitas di repositori mana pun, Anda dapat melihat semua Diskusi dan Pull requests. Anda juga dapat memfilter untuk hanya melihat yang masih terbuka.

Lihat
Halaman Discussion memungkinkan Anda melihat komentar dari berbagai pengguna. Jika itu adalah Pull Request, Anda dapat melihat semua perubahan dengan beralih ke tab Files changed.

Mengubah Judul Diskusi / Permintaan Tarikan
Jika Anda membuka PR atau diskusi, merupakan penulis repositori, atau memiliki akses tulis ke repositori tersebut, Anda dapat mengubah judul diskusi dengan mengklik tombol pensil.
Sematkan Diskusi / Pull Request
Jika Anda memiliki akses tulis ke repositori, Anda dapat mengunci diskusi dan Pull Requests. Diskusi yang dikunci muncul di bagian atas semua diskusi.


Kunci Diskusi / Pull Request
Jika Anda memiliki akses tulis ke repositori, Anda dapat mengunci diskusi atau Pull Requests. Setelah diskusi dikunci, komentar sebelumnya masih terlihat dan pengguna tidak akan dapat menambahkan komentar baru.


Edisi dan moderasi komentar
Jika Anda menulis komentar atau memiliki akses tulis ke repositori, Anda dapat mengedit konten komentar dari menu kontekstual di sudut kanan atas kotak komentar.


Setelah komentar diedit, tautan baru akan muncul di atas komentar. Tautan ini menampilkan riwayat pengeditan.


Anda juga dapat menyembunyikan komentar. Menyembunyikan komentar bersifat tidak dapat dibatalkan, dan tidak ada lagi yang dapat melihat isinya maupun mengeditnya.

Baca juga moderasi untuk melihat cara melaporkan komentar yang menyinggung.
Bisakah saya menggunakan Markdown dan LaTeX di komentar dan diskusi saya?
Ya! Anda dapat menggunakan Markdown untuk menambahkan format pada komentar Anda. Selain itu, Anda dapat memanfaatkan LaTeX untuk penataan matematis; rumus Anda akan dirender dengan KaTeX sebelum diparsing dalam Markdown.
Untuk persamaan LaTeX, Anda harus menggunakan delimeter berikut:
$$ ... $$untuk mode tampilan\\(...\\)untuk mode inline (tanpa spasi antara garis miring dan tanda kurung).
Bagaimana cara mengelola Pull requests secara lokal?
Misalkan nomor PR Anda adalah 42.
git fetch origin refs/pr/42:pr/42
git checkout pr/42
# Do your changes
git add .
git commit -m "Add your change"
git push origin pr/42:refs/pr/42Mode draf
Mode draft adalah status default saat membuka Pull request baru dari awal dalam “Advanced mode”. Dengan status ini, kontributor lain mengetahui bahwa Pull request Anda sedang dikerjakan dan tidak dapat digabungkan. Ketika branch Anda siap, cukup tekan tombol “Publish” untuk mengubah status Pull request menjadi “Open”. Perhatikan bahwa setelah dipublikasikan, Anda tidak dapat kembali ke mode draft.
Menghapus ref Pull request
Saat Pull request ditutup atau digabungkan, Anda dapat menghapus git ref yang terkait (cabang yang menyimpan commit PR) untuk mengosongkan ruang penyimpanan.
Setelah menutup atau menggabungkan PR, Anda akan melihat pemberitahuan di bagian bawah diskusi yang menampilkan estimasi penyimpanan yang dapat dibebaskan dengan menghapus ref. Klik tombol “Delete ref” untuk menghapus git ref dari PR secara permanen dan mengambil kembali penyimpanan tersebut.

Hal ini sangat berguna ketika cabang utama telah di-*squash* dan file dihapus kemudian. File-file tersebut tetap ada dalam riwayat cabang PR meskipun tidak ditambahkan oleh PR itu sendiri, sehingga memakan ruang penyimpanan yang sebenarnya bisa dibebaskan.
Menghapus ref PR bersifat tidak dapat dibatalkan. Setelah dihapus, Anda tidak akan dapat lagi mengambil atau melakukan checkout commit PR tersebut secara lokal.
Penggunaan lanjutan pull request
Di mana di repo git perubahan disimpan?
Pull request kami tidak menggunakan fork dan branch, melainkan “branch” khusus yang disebut refs yang disimpan langsung di repo sumber.
Git References adalah mekanisme internal git yang sudah menyimpan tag dan cabang.
Keuntungan menggunakan referensi kustom (misalnya refs/pr/42) alih-alih cabang adalah bahwa referensi tersebut tidak diambil (secara bawaan) oleh orang-orang (termasuk “pemilik” repositori) yang melakukan kloning repositori, tetapi tetap dapat diambil sesuai permintaan.
Mengambil semua Pull request: untuk para ahli git 🧙♀️
Anda dapat menyesuaikan refspec lokal Anda untuk mengambil semua Pull request:
- Ambil
git fetch origin "refs/pr/*:refs/remotes/origin/pr/*"- buat cabang lokal yang melacak ref
git checkout pr/{PR_NUMBER}
# for example: git checkout pr/42- Jika Anda membuat perubahan lokal, untuk mendorong ke ref PR:
git push origin pr/{PR_NUMBER}:refs/pr/{PR_NUMBER}
# for example: git push origin pr/42:refs/pr/42