{"title":"Bekerja dengan Git dan GitHub","version":"4.0","locale":"id","docname":"internals/contributing/writing-code/working-with-git","url":"/id/4.0/internals/contributing/writing-code/working-with-git/","canonical":"https://djangodocs.dev/id/4.0/internals/contributing/writing-code/working-with-git/","summary":"This section explains how the community can contribute code to Django via pull requests. If you're interested in how mergers handle them, see Memperbaiki kode .…","html":"<h1>Bekerja dengan Git dan GitHub<a class=\"heading-anchor\" href=\"#working-with-git-and-github\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>This section explains how the community can contribute code to Django via pull\nrequests. If you're interested in how <a class=\"reference internal\" href=\"/id/4.0/internals/organization/#mergers-team\"><span class=\"std std-ref\">mergers</span></a> handle\nthem, see <a class=\"reference internal\" href=\"/id/4.0/internals/contributing/committing-code/\"><span class=\"doc\">Memperbaiki kode</span></a>.</p>\n<p>Dibawah ini, kami akan menunjukkan bagaimana membuat pull request GitHub mengandung perubahan untuk tiket Trac #xxxxx. Dengan membuat pull request sepenuhnya siap, anda akan membuat pekerjaan peninjau lebih mudah, berarti bahwa pekerjaan anda lebih mungkin digabungkan kedalam Django.</p>\n<p>Anda dapat juga menunggah tambalan tradisional ke Trac, tetapi dia kurang praktis untuk peninjauan.</p>\n<section id=\"installing-git\">\n<h2>Memasang Git<a class=\"heading-anchor\" href=\"#installing-git\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django menggunakan <a class=\"reference external\" href=\"https://git-scm.com/\">Git</a> untuk kendali sumbernya. Anda dapat mengunduh Git <a class=\"reference external\" href=\"https://git-scm.com/download\">download</a>, tetapi itu terkadang lebih mudah memasang dengan pengelola paket sistem operasi anda.</p>\n<p><a class=\"reference external\" href=\"https://github.com/django/django/\">Git repository</a> Django disimpan di <a class=\"reference external\" href=\"https://github.com/\">GitHub</a>, dan itu dianjurkan bahwa anda juga bekerja menggunakan GitHub.</p>\n<p>After installing Git, the first thing you should do is set up your name and\nemail:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>$ git config --global user.name &quot;Your Real Name&quot;\n$ git config --global user.email &quot;you@email.com&quot;\n</code></pre></div>\n<p>Catat bahwa <code class=\"docutils literal notranslate\"><span class=\"pre\">user.name</span></code> harus nama asli anda, bukan nama pendek GitHub. GitHub harus tahu surel anda gunakan di bidang <code class=\"docutils literal notranslate\"><span class=\"pre\">user.email</span></code>, karena ini akan digunakan untuk menghubungkan perbaikan anda ke akun GitHub anda.</p>\n</section>\n<section id=\"setting-up-local-repository\">\n<h2>Mengatur gudang lokal<a class=\"heading-anchor\" href=\"#setting-up-local-repository\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Ketika anda telah membuat akun GitHub anda, dengan nama pendek &quot;GitHub_nick&quot; dan <a class=\"reference external\" href=\"https://github.com/django/django/fork\">forked Django's repository</a>, buat salinan lokal dari fork anda:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">git</span> <span class=\"n\">clone</span> <span class=\"n\">https</span><span class=\"p\">:</span><span class=\"o\">//</span><span class=\"n\">github</span><span class=\"o\">.</span><span class=\"n\">com</span><span class=\"o\">/</span><span class=\"n\">GitHub_nick</span><span class=\"o\">/</span><span class=\"n\">django</span><span class=\"o\">.</span><span class=\"n\">git</span>\n</code></pre></div>\n<p>Ini akan membuat pelipat baru &quot;django&quot;, mengandung kloning dari gudang GitHub anda. Sisa dari perintah git pada halaman ini butuh dijalankan dalam pelipat kloning, jadi ganti ke itu sekarang:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">cd</span> <span class=\"n\">django</span>\n</code></pre></div>\n<p>Gudang GitHub anda akan dipanggil &quot;origin&quot; dalam Git.</p>\n<p>You should also set up <code class=\"docutils literal notranslate\"><span class=\"pre\">django/django</span></code> as an &quot;upstream&quot; remote (that is, tell\ngit that the reference Django repository was the source of your fork of it):</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">git</span> <span class=\"n\">remote</span> <span class=\"n\">add</span> <span class=\"n\">upstream</span> <span class=\"n\">https</span><span class=\"p\">:</span><span class=\"o\">//</span><span class=\"n\">github</span><span class=\"o\">.</span><span class=\"n\">com</span><span class=\"o\">/</span><span class=\"n\">django</span><span class=\"o\">/</span><span class=\"n\">django</span><span class=\"o\">.</span><span class=\"n\">git</span>\n<span class=\"n\">git</span> <span class=\"n\">fetch</span> <span class=\"n\">upstream</span>\n</code></pre></div>\n<p>Anda dapat juga menambahkan terpencil lainnya dengan cara yang sama, sebagai contoh:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">git</span> <span class=\"n\">remote</span> <span class=\"n\">add</span> <span class=\"n\">akaariai</span> <span class=\"n\">https</span><span class=\"p\">:</span><span class=\"o\">//</span><span class=\"n\">github</span><span class=\"o\">.</span><span class=\"n\">com</span><span class=\"o\">/</span><span class=\"n\">akaariai</span><span class=\"o\">/</span><span class=\"n\">django</span><span class=\"o\">.</span><span class=\"n\">git</span>\n</code></pre></div>\n</section>\n<section id=\"working-on-a-ticket\">\n<h2>Bekerja pada tiket<a class=\"heading-anchor\" href=\"#working-on-a-ticket\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>When working on a ticket, create a new branch for the work, and base that work\non <code class=\"docutils literal notranslate\"><span class=\"pre\">upstream/main</span></code>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">git</span> <span class=\"n\">checkout</span> <span class=\"o\">-</span><span class=\"n\">b</span> <span class=\"n\">ticket_xxxxx</span> <span class=\"n\">upstream</span><span class=\"o\">/</span><span class=\"n\">main</span>\n</code></pre></div>\n<p>Bendera -b membuat cabang baru untuk anda secara lokal. Jangan ragu-ragu membuat cabang-cabang baru bahkan untu hal-hal terkecil - itulah apa mereka ada.</p>\n<p>Jika malahan anda sedang bekerja untuk perbaikan pada cabang 1.4, anda akan melakukan:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">git</span> <span class=\"n\">checkout</span> <span class=\"o\">-</span><span class=\"n\">b</span> <span class=\"n\">ticket_xxxxx_1_4</span> <span class=\"n\">upstream</span><span class=\"o\">/</span><span class=\"n\">stable</span><span class=\"o\">/</span><span class=\"mf\">1.4</span><span class=\"o\">.</span><span class=\"n\">x</span>\n</code></pre></div>\n<p>Anggap pekerjaan dibawah pada cabang ticket_xxxxx. Buat beberapa perubahan dan perbaiki mereka:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">git</span> <span class=\"n\">commit</span>\n</code></pre></div>\n<p>When writing the commit message, follow the <a class=\"reference internal\" href=\"/id/4.0/internals/contributing/committing-code/#committing-guidelines\"><span class=\"std std-ref\">commit message\nguidelines</span></a> to ease the work of the merger. If you're\nuncomfortable with English, try at least to describe precisely what the commit\ndoes.</p>\n<p>Jika anda butuh melakukan tambahan pekerjaan pada cabang anda, perbaikan sesering yang diperlukan:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">git</span> <span class=\"n\">commit</span> <span class=\"o\">-</span><span class=\"n\">m</span> <span class=\"s1\">&#39;Added two more tests for edge cases&#39;</span>\n</code></pre></div>\n<section id=\"publishing-work\">\n<h3>Menerbitkan pekerjaan<a class=\"heading-anchor\" href=\"#publishing-work\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Anda dapat menerbitkan pekerjaan anda pada GitHub dengan menjalankan:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">git</span> <span class=\"n\">push</span> <span class=\"n\">origin</span> <span class=\"n\">ticket_xxxxx</span>\n</code></pre></div>\n<p>Ketika anda pergi ke halaman GitHub, anda akan melihat cabang baru telah dibuat.</p>\n<p>Jika anda sedang bekerja pada tiket Trac, anda harus menyebutkan dalam tiket yang pekerjaan anda tersedia dari cabang ticket_xxxxx dari gudang GitHub. Sertakan sebuah tautan pada cabang anda.</p>\n<p>Catat bahwa cabang diatas dipanggil &quot;topic branch&quot; di bahasa Git. Anda bebas menulis kembali riwayat dari cabang ini, dengan menggunakan <code class=\"docutils literal notranslate\"><span class=\"pre\">git</span> <span class=\"pre\">rebase</span></code> sebagai contoh. Orang lain tidak harus dasarkan pekerjaan mereka pada cabang seperti itu, karena kloningan mereka akan menjadi rusak ketika anda menyunting perbaikan.</p>\n<p>There are also &quot;public branches&quot;. These are branches other people are supposed\nto fork, so the history of these branches should never change. Good examples\nof public branches are the <code class=\"docutils literal notranslate\"><span class=\"pre\">main</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">stable/A.B.x</span></code> branches in the\n<code class=\"docutils literal notranslate\"><span class=\"pre\">django/django</span></code> repository.</p>\n<p>Ketika anda berpikir pekerjaan anda siap untuk ditarik ke Django, anda harus membuat sebuah pull request pada GitHub. Pull request baik artinya:</p>\n<ul class=\"simple\">\n<li><p>perbaiki dengan satu perubahan logika di setiapnya, mengikuti <a class=\"reference internal\" href=\"/id/4.0/internals/contributing/writing-code/coding-style/\"><span class=\"doc\">coding style</span></a>,</p></li>\n<li><p>Pesan-pesan berbentuk baik untuk setiap perbaikan: sebuah baris ringkasan dan kemudian paragraf dibungkus pada 72 karakter setelah itu -- lihat <a class=\"reference internal\" href=\"/id/4.0/internals/contributing/committing-code/#committing-guidelines\"><span class=\"std std-ref\">committing guidelines</span></a> untuk lebih rinci,</p></li>\n<li><p>dokumentasi dan percobaan, jika dibutuhkan -- percobaan sebenarnya selalu dibutuhkan, kecuali untuk perubahan dokumentasi.</p></li>\n</ul>\n<p>Rangkaian percobaan harus dilewati dan dokumentasi harus dibangun tanpa peringatan.</p>\n<p>Sekali anda telah membuat pull request anda, anda harus menambahkan sebuah komentar di tiket Trac terkait menjelaskan apa yang telah anda lakukan. Khususnya, anda harus catat lingkungan dimana anda menjalankan percobaan, sebagai contoh: &quot;semua percobaan lolos dibawah SQLite dan MySQL&quot;.</p>\n<p>Pull requests at GitHub have only two states: open and closed. The merger who\nwill deal with your pull request has only two options: merge it or close it.\nFor this reason, it isn't useful to make a pull request until the code is ready\nfor merging -- or sufficiently close that a merger will finish it themselves.</p>\n</section>\n<section id=\"rebasing-branches\">\n<h3>Rebase cabang-cabang<a class=\"heading-anchor\" href=\"#rebasing-branches\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Di contoh diatas, anda membuat dua perbaikan, perbaikan &quot;Fixed ticket_xxxxx&quot; dan perbaikan &quot;Added two more tests&quot;.</p>\n<p>Kami tidak ingin memiliki seluruh riwayat dari pengolahan pekerjaan anda di gudang anda. Perbaikan anda &quot;Added two more tests&quot; akan menjadi kebisingan yang tidak membantu. Malahan, kami bukan hanya mempunyai satu perbaikan mengandung semua pekerjaan anda.</p>\n<p>Untuk bekerja kembali riwayat dari cabang anda anda dapat melumatkan perbaikan kedalam satu dengan menggunakan rebase interaktif:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">git</span> <span class=\"n\">rebase</span> <span class=\"o\">-</span><span class=\"n\">i</span> <span class=\"n\">HEAD</span><span class=\"o\">~</span><span class=\"mi\">2</span>\n</code></pre></div>\n<p>HEAD~2 diatas adalah tangan cepat untuk dua perbaikan terakhir. Perintah diatas akan membuka sebuah penyunting menunjukkan dua perbaikan, diawali dengan kata &quot;pick&quot;.</p>\n<p>Rubah &quot;pick&quot; pada baris kedua pada &quot;squash&quot; sebagai gantinya. Ini akan menjaga perbaikan pertama, dan melumat perbaikan kedua kedalam yang pertama. Simpan dan hemtikan penyunting. Jendela penyunting kedua harus terbuka, jadi anda dapat menaruh kata lain pesan perbaikan untuk perbaikan sekarang dimana dia menyertakan kedua langkah-langkah anda.</p>\n<p>Anda dapat juga menggunakan pilihan &quot;edit&quot; di rebase. Cara ini anda dapat merubah perbaikan tunggal, sebagai contoh untuk memperbaiki salah ketik dalam docstring:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">git</span> <span class=\"n\">rebase</span> <span class=\"o\">-</span><span class=\"n\">i</span> <span class=\"n\">HEAD</span><span class=\"o\">~</span><span class=\"mi\">3</span>\n<span class=\"c1\"># Choose edit, pick, pick for the commits</span>\n<span class=\"c1\"># Now you are able to rework the commit (use git add normally to add changes)</span>\n<span class=\"c1\"># When finished, commit work with &quot;--amend&quot; and continue</span>\n<span class=\"n\">git</span> <span class=\"n\">commit</span> <span class=\"o\">--</span><span class=\"n\">amend</span>\n<span class=\"c1\"># Reword the commit message if needed</span>\n<span class=\"n\">git</span> <span class=\"n\">rebase</span> <span class=\"o\">--</span><span class=\"k\">continue</span>\n<span class=\"c1\"># The second and third commits should be applied.</span>\n</code></pre></div>\n<p>Jika topik cabang anda sudah diterbitkan pada GitHub, sebagai contoh jika anda sedang membuat perubahan kecil untuk diambil ke tinjauan akun, anda akan butuh mendorong-paksa perubahan:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">git</span> <span class=\"n\">push</span> <span class=\"o\">-</span><span class=\"n\">f</span> <span class=\"n\">origin</span> <span class=\"n\">ticket_xxxxx</span>\n</code></pre></div>\n<p>Catat bahwa ini akan menulis kembali riwayat dari ticket_xxxxx - jika anda memeriksa campuran commit sebelum dan sesudah tindakan pada GitHub anda akan menyadari bahwa campuran commit tidak cocok lagi. Ini dapat diterima, ketika cabang adalah cabang topik, dan tidak seorangpun harus mendasarkan pekerjaannya pada itu.</p>\n</section>\n<section id=\"after-upstream-has-changed\">\n<h3>Setelah upstream telah berubah<a class=\"heading-anchor\" href=\"#after-upstream-has-changed\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Ketika hulu (<code class=\"docutils literal notranslate\"><span class=\"pre\">django/django</span></code>) telah berubah, anda harus rebase pekerjaan anda. Untuk melakukan ini, gunakan:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">git</span> <span class=\"n\">fetch</span> <span class=\"n\">upstream</span>\n<span class=\"n\">git</span> <span class=\"n\">rebase</span>\n</code></pre></div>\n<p>The work is automatically rebased using the branch you forked on, in the\nexample case using <code class=\"docutils literal notranslate\"><span class=\"pre\">upstream/main</span></code>.</p>\n<p>Perintah rebase memindahkan semua perbaikan lokal sementara, berlakukan perbaikan upstream, dan kemudian berlakukan perbaikan lokal anda pada pekerjaan.</p>\n<p>Jika ada pertentangan penggabungan, anda akan butuh menyelesaikan mereka dan kemudian menggunakan <code class=\"docutils literal notranslate\"><span class=\"pre\">git</span> <span class=\"pre\">rebase</span> <span class=\"pre\">--continue</span></code>. Pada tiap titik anda dapat menggunakan <code class=\"docutils literal notranslate\"><span class=\"pre\">git</span> <span class=\"pre\">rebase</span> <span class=\"pre\">--abort</span></code> untuk mengembalikan ke keadaan asli.</p>\n<p>Catat bahwa anda ingin <em>rebase</em> pada upstream, bukan <em>merge</em> upstream.</p>\n<p>Alasan untuk ini adalah dengan rebase, perbaikan anda akan selalu <em>on top of</em> pekerjaan upstream, bukan <em>mixed in with</em> perubahan di upstream. Cara ini cabang anda akan mengandung hanya perbaikan terhubung pada topiknya, yang membuat pelumatan lebiih mudah.</p>\n</section>\n<section id=\"after-review\">\n<h3>Setelah meninjau<a class=\"heading-anchor\" href=\"#after-review\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Itu tidak biasa mendapatkan setiap jumlah bukan sepele dari kode kedalam inti tanpa perubahan diminta oleh peninjau. Di kasus ini, itu adalah sering ide bagus untuk menambahkan perubahan sebagai perbaikan menaik pada pekerjaan anda. Ini mengizinkan peninjau dengan mudah memeriksa perubahan apa anda telah lakukan.</p>\n<p>Dalam kasus ini, melakukan perubahan diwajibkan oleh peninjau. Perbaikan sesering kebutuhan. Sebelum menerbitkan perubahan, bangun tingkatan baru pekerjaan anda. Jika anda menambahkan dua perbaikan, anda harus menjalankan:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">git</span> <span class=\"n\">rebase</span> <span class=\"o\">-</span><span class=\"n\">i</span> <span class=\"n\">HEAD</span><span class=\"o\">~</span><span class=\"mi\">2</span>\n</code></pre></div>\n<p>Lumatkan perbaikan kedua kedalam yang pertama. Tulis sebuah pesan perbaikan bersama baris:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">Made</span> <span class=\"n\">changes</span> <span class=\"n\">asked</span> <span class=\"ow\">in</span> <span class=\"n\">review</span> <span class=\"n\">by</span> <span class=\"o\">&lt;</span><span class=\"n\">reviewer</span><span class=\"o\">&gt;</span>\n\n<span class=\"o\">-</span> <span class=\"n\">Fixed</span> <span class=\"n\">whitespace</span> <span class=\"n\">errors</span> <span class=\"ow\">in</span> <span class=\"n\">foobar</span>\n<span class=\"o\">-</span> <span class=\"n\">Reworded</span> <span class=\"n\">the</span> <span class=\"n\">docstring</span> <span class=\"n\">of</span> <span class=\"n\">bar</span><span class=\"p\">()</span>\n</code></pre></div>\n<p>Akhirnya, kirim kerjaan anda kembali ke gudang GitHub. Sejak anda tidak menyentuk perbaikan umum selama tingkatan dasar baru, anda tidak butuh untuk paksa-kirim:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">git</span> <span class=\"n\">push</span> <span class=\"n\">origin</span> <span class=\"n\">ticket_xxxxx</span>\n</code></pre></div>\n<p>Pull request anda sekarang harus mengandung perbaikan baru juga.</p>\n<p>Note that the merger is likely to squash the review commit into the previous\ncommit when committing the code.</p>\n</section>\n</section>\n<section id=\"working-on-a-patch\">\n<h2>Bekerja pada tambalan<a class=\"heading-anchor\" href=\"#working-on-a-patch\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Satu cara bahwa pengembang dapat menyumbang ke Django adalah dengan meninjau tambalan-tambalan. Tambalan-tambalan tersebut khususnya ada sebagai pull request pada GitHub dan dapat dengan mudah dipadukan ke dalam gudang lokal anda:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">git</span> <span class=\"n\">checkout</span> <span class=\"o\">-</span><span class=\"n\">b</span> <span class=\"n\">pull_xxxxx</span> <span class=\"n\">upstream</span><span class=\"o\">/</span><span class=\"n\">main</span>\n<span class=\"n\">curl</span> <span class=\"n\">https</span><span class=\"p\">:</span><span class=\"o\">//</span><span class=\"n\">github</span><span class=\"o\">.</span><span class=\"n\">com</span><span class=\"o\">/</span><span class=\"n\">django</span><span class=\"o\">/</span><span class=\"n\">django</span><span class=\"o\">/</span><span class=\"n\">pull</span><span class=\"o\">/</span><span class=\"n\">xxxxx</span><span class=\"o\">.</span><span class=\"n\">patch</span> <span class=\"o\">|</span> <span class=\"n\">git</span> <span class=\"n\">am</span>\n</code></pre></div>\n<p>Ini akan membuat cabang baru dan kemudian memberlakukan perubahan dari pull request ke itu. Pada titik ini anda dapat menjalankan percobaan atau melakukan apapun lainnya anda butuhkan untuk menyelidiki kualitas tambalan.</p>\n<p>For more detail on working with pull requests see the\n<a class=\"reference internal\" href=\"/id/4.0/internals/contributing/committing-code/#handling-pull-requests\"><span class=\"std std-ref\">guidelines for mergers</span></a>.</p>\n</section>\n<section id=\"summary\">\n<h2>Ringkasan<a class=\"heading-anchor\" href=\"#summary\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<ul class=\"simple\">\n<li><p>Bekerja pada GitHub jika anda bisa.</p></li>\n<li><p>Umumkan pekerjaan anda di tiket Trac dengan menautkan ke cabang GitHub anda.</p></li>\n<li><p>Ketika anda mempunyai sesuatu yang siap, buat pull request.</p></li>\n<li><p>Buat pull request sebaik anda bisa.</p></li>\n<li><p>Ketika melakukan perbaikan ke pekerjaan anda, gunakan <code class=\"docutils literal notranslate\"><span class=\"pre\">git</span> <span class=\"pre\">rebase</span> <span class=\"pre\">-i</span></code> untuk melumat perbaikan.</p></li>\n<li><p>Ketika upstream telah dirubah, lakukan <code class=\"docutils literal notranslate\"><span class=\"pre\">git</span> <span class=\"pre\">fetch</span> <span class=\"pre\">upstream;</span> <span class=\"pre\">git</span> <span class=\"pre\">rebase</span></code>.</p></li>\n</ul>\n</section>","rootId":"working-with-git-and-github","toc":[{"title":"Memasang Git","anchor":"installing-git","children":[]},{"title":"Mengatur gudang lokal","anchor":"setting-up-local-repository","children":[]},{"title":"Bekerja pada tiket","anchor":"working-on-a-ticket","children":[{"title":"Menerbitkan pekerjaan","anchor":"publishing-work","children":[]},{"title":"Rebase cabang-cabang","anchor":"rebasing-branches","children":[]},{"title":"Setelah upstream telah berubah","anchor":"after-upstream-has-changed","children":[]},{"title":"Setelah meninjau","anchor":"after-review","children":[]}]},{"title":"Bekerja pada tambalan","anchor":"working-on-a-patch","children":[]},{"title":"Ringkasan","anchor":"summary","children":[]}],"breadcrumbs":[{"docname":"internals/index","title":"Dalam Django","url":"/id/4.0/internals/"},{"docname":"internals/contributing/index","title":"Membantu untuk Django","url":"/id/4.0/internals/contributing/"},{"docname":"internals/contributing/writing-code/index","title":"Penulisan kode","url":"/id/4.0/internals/contributing/writing-code/"}],"prev":{"docname":"internals/contributing/writing-code/submitting-patches","title":"Mengajukan tambalan","url":"/id/4.0/internals/contributing/writing-code/submitting-patches/"},"next":{"docname":"internals/contributing/writing-code/javascript","title":"JavaScript","url":"/id/4.0/internals/contributing/writing-code/javascript/"},"formats":{"html":"/id/4.0/internals/contributing/writing-code/working-with-git/","markdown":"/id/4.0/internals/contributing/writing-code/working-with-git.md","json":"/id/4.0/internals/contributing/writing-code/working-with-git.json"},"source":"https://github.com/django/django/blob/stable/4.0.x/docs/internals/contributing/writing-code/working-with-git.txt","official":"https://docs.djangoproject.com/id/4.0/internals/contributing/writing-code/working-with-git/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}