

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Bekerja dengan cabang di AWS CodeCommit repositori
<a name="branches"></a>

Apa itu cabang? Dalam Git, cabang adalah pointer atau referensi ke commit. Dalam pengembangan, mereka adalah cara yang nyaman untuk mengatur pekerjaan Anda. Anda dapat menggunakan cabang untuk memisahkan pekerjaan pada versi baru atau berbeda dari file tanpa mempengaruhi pekerjaan di cabang-cabang lain. Anda dapat menggunakan cabang untuk mengembangkan fitur baru, menyimpan versi tertentu dari proyek Anda dari commit tertentu, dan banyak lagi. Saat Anda membuat perbaikan pertama Anda, *cabang default* dibuat untuk Anda. Cabang default ini adalah cabang yang digunakan sebagai dasar atau cabang default dalam repositori lokal (repos) ketika pengguna mengkloning repositori. Nama cabang default itu bervariasi tergantung pada bagaimana Anda membuat commit pertama Anda. *Jika Anda menambahkan file pertama ke repositori Anda dengan menggunakan CodeCommit konsol, AWS CLI, atau salah satu SDKs, nama cabang default itu adalah main.* Ini adalah nama cabang default yang digunakan dalam contoh dalam panduan ini. Jika Anda mendorong commit pertama Anda menggunakan klien Git, nama cabang default adalah apa yang klien Git tentukan sebagai default. Pertimbangkan untuk mengkonfigurasi klien Git anda untuk menggunakan *utama* sebagai nama untuk cabang awal.

Di CodeCommit, Anda dapat mengubah cabang default untuk repositori Anda. Anda juga dapat membuat dan menghapus cabang dan melihat detail tentang cabang. Anda dapat dengan cepat membandingkan perbedaan antara cabang dan cabang default (atau dua cabang mana pun). Untuk menampilkan riwayat cabang dan penggabungan di repositori Anda, Anda dapat menggunakan [pemvisualisasi commit](how-to-view-commit-details.md#how-to-view-commit-details-console-visualizer), yang ditunjukkan dalam grafik berikut.

![\[Tampilan dari cabang dalam repositori\]](http://docs.aws.amazon.com/id_id/codecommit/latest/userguide/images/codecommit-cv-complex1.png)


Untuk informasi tentang bekerja dengan aspek lain dari repositori Anda di CodeCommit, lihat,[Bekerja dengan repositori](repositories.md),, [Bekerja dengan file](files.md) [Bekerja dengan permintaan pull](pull-requests.md)[Bekerja dengan commit](commits.md), dan. [Bekerja dengan preferensi pengguna](user-preferences.md) 

**Topics**
+ [Buat cabang di AWS CodeCommit](how-to-create-branch.md)
+ [Batasi dorongan dan penggabungan ke cabang di AWS CodeCommit](how-to-conditional-branch.md)
+ [Lihat detail cabang di AWS CodeCommit](how-to-view-branch-details.md)
+ [Bandingkan dan gabungkan cabang di AWS CodeCommit](how-to-compare-branches.md)
+ [Ubah pengaturan cabang di AWS CodeCommit](how-to-change-branch.md)
+ [Hapus cabang di AWS CodeCommit](how-to-delete-branch.md)

# Buat cabang di AWS CodeCommit
<a name="how-to-create-branch"></a>

Anda dapat menggunakan CodeCommit konsol atau AWS CLI untuk membuat cabang untuk repositori Anda. Ini adalah cara cepat untuk memisahkan pekerjaan pada versi baru atau berbeda dari file tanpa mempengaruhi pekerjaan di cabang default. Setelah Anda membuat cabang di CodeCommit konsol, Anda harus menarik perubahan itu ke repo lokal Anda. Atau, Anda dapat membuat cabang secara lokal dan kemudian menggunakan Git dari repo lokal yang terhubung ke CodeCommit repositori untuk mendorong perubahan itu. 

**Topics**
+ [Buatlah sebuah cabang (konsol)](#how-to-create-branch-console)
+ [Buatlah sebuah cabang (Git)](#how-to-create-branch-git)
+ [Buatlah sebuah cabang (AWS CLI)](#how-to-create-branch-cli)

## Buatlah sebuah cabang (konsol)
<a name="how-to-create-branch-console"></a>

Anda dapat menggunakan CodeCommit konsol untuk membuat cabang di CodeCommit repositori. Lain kali pengguna menarik perubahan dari repositori, mereka melihat cabang baru.

1. Buka CodeCommit konsol di [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. Di **Repositori**, pilih nama repositori tempat Anda ingin membuat cabang. 

1. Di panel navigasi, pilih **Cabang**.

1. Pilih **Buat cabang**.   
![\[Membuat cabang di CodeCommit konsol.\]](http://docs.aws.amazon.com/id_id/codecommit/latest/userguide/images/codecommit-branches-create.png)

   Di **Nama cabang**, masukkan nama untuk cabang tersebut. Di **Cabang dari**, pilih cabang atau tag dari daftar, atau tempelkan ID commit. Pilih **Buat cabang**.

## Buatlah sebuah cabang (Git)
<a name="how-to-create-branch-git"></a>

Ikuti langkah-langkah ini untuk menggunakan Git dari repo lokal untuk membuat cabang di repo lokal dan kemudian dorong cabang itu ke repositori. CodeCommit 

Langkah-langkah ini ditulis dengan asumsi bahwa Anda telah menghubungkan repo lokal ke repositori. CodeCommit Untuk petunjuk, lihat [Connect ke sebuah repositori](how-to-connect.md).

1. Buat cabang di repo lokal Anda dengan menjalankan **git checkout -b *new-branch-name*** perintah, di *new-branch-name* mana nama cabang baru.

   Misalnya, perintah berikut membuat cabang yang bernama `MyNewBranch` di repo lokal:

   ```
   git checkout -b MyNewBranch
   ```

1. Untuk mendorong cabang baru dari repo lokal ke CodeCommit repositori, jalankan **git push** perintah, dengan menentukan file dan file. ***remote-name*** ***new-branch-name*** 

   Misalnya, untuk mendorong cabang baru di repo lokal bernama `MyNewBranch` ke CodeCommit repositori dengan nama panggilan: `origin`

   ```
   git push origin MyNewBranch
   ```

**catatan**  
Jika Anda menambahkan `-u` opsi ke **git push** (misalnya,**git push -u origin main**), maka di masa depan Anda dapat menjalankan **git push** tanpa *remote-name**branch-name*. Informasi pelacakan hulu diatur. Untuk mendapatkan informasi pelacakan hulu, jalankan **git remote show *remote-name*** (sebagai contoh, **git remote show origin**).  
Untuk menampilkan daftar semua cabang pelacakan lokal dan jarak jauh, jalankan **git branch --all**.  
Untuk menyiapkan cabang di repo lokal yang terhubung ke cabang di CodeCommit repositori, jalankan. **git checkout *remote-branch-name***

Untuk opsi lainnya, lihat dokumentasi Git Anda.

## Buatlah sebuah cabang (AWS CLI)
<a name="how-to-create-branch-cli"></a>

Untuk menggunakan AWS CLI perintah dengan CodeCommit, instal file AWS CLI. Untuk informasi selengkapnya, lihat [Referensi baris perintah](cmd-ref.md). 

Ikuti langkah-langkah ini untuk menggunakan AWS CLI untuk membuat cabang di CodeCommit repositori dan kemudian dorong cabang itu ke repositori. CodeCommit Untuk langkah-langkah untuk membuat commit awal dan menentukan nama cabang default untuk repositori kosong, lihat [Buat komit pertama untuk repositori menggunakan AWS CLI](how-to-create-commit.md#create-first-commit).

1. Jalankan perintah **create-branch**, dengan menentukan:
   + Nama CodeCommit repositori tempat cabang dibuat (dengan **--repository-name** opsi).
**catatan**  
Untuk mendapatkan nama repositori, jalankan perintah CodeCommit [list-repositori](how-to-view-repository-details.md#how-to-view-repository-details-no-name-cli).
   + Nama cabang baru (dengan opsi **--branch-name**).
   + ID dari commit yang ditunjuk oleh cabang baru tersebut (dengan opsi **--commit-id**).

   Misalnya, untuk membuat cabang bernama `MyNewBranch` yang menunjuk ke ID komit `317f8570EXAMPLE` dalam CodeCommit repositori bernama: `MyDemoRepo`

   ```
   aws codecommit create-branch --repository-name MyDemoRepo --branch-name MyNewBranch --commit-id 317f8570EXAMPLE
   ```

   Perintah ini menghasilkan output hanya jika ada kesalahan.

1. Untuk memperbarui daftar cabang CodeCommit repositori yang tersedia di repo lokal Anda dengan nama cabang jarak jauh yang baru, jalankan. **git remote update *remote-name***

   Misalnya, untuk memperbarui daftar cabang yang tersedia untuk CodeCommit repositori dengan nama panggilan: `origin`

   ```
   git remote update origin 
   ```
**catatan**  
Atau, Anda dapat menjalankan perintah **git fetch**. Anda juga dapat melihat semua cabang jarak jauh dengan menjalankan **git branch --all**, tapi sampai Anda memperbarui daftar repo lokal Anda, cabang jaeak jauh yang Anda buat tersebut tidak muncul dalam daftar.   
Untuk opsi lainnya, lihat dokumentasi Git Anda.

1. Untuk menyiapkan cabang di repo lokal yang terhubung ke cabang baru di CodeCommit repositori, jalankan. **git checkout *remote-branch-name***

**catatan**  
 Untuk mendapatkan daftar nama CodeCommit repositori dan mereka URLs, jalankan perintah. **git remote -v**

# Batasi dorongan dan penggabungan ke cabang di AWS CodeCommit
<a name="how-to-conditional-branch"></a>

Secara default, setiap pengguna CodeCommit repositori yang memiliki izin yang cukup untuk mendorong kode ke repositori dapat berkontribusi ke cabang mana pun di repositori itu. Ini benar tidak peduli bagaimana Anda menambahkan cabang ke repositori: dengan menggunakan konsol, baris perintah, atau Git. Namun, Anda mungkin ingin mengkonfigurasi cabang sehingga hanya beberapa pengguna repositori yang dapat mendorong atau menggabungkan kode ke cabang tersebut. Misalnya, Anda mungkin ingin mengkonfigurasi cabang yang digunakan untuk kode produksi sehingga hanya subset dari developer senior dapat mendorong atau menggabungkan perubahan ke cabang tersebut. Developer lain masih dapat menarik dari cabang, membuat cabang mereka sendiri, dan membuat permintaan tarik, tetapi mereka tidak dapat mendorong atau menggabungkan perubahan ke cabang tersebut. Anda dapat mengkonfigurasi akses ini dengan membuat kebijakan bersyarat yang menggunakan kunci konteks untuk satu atau lebih cabang di IAM. 

**catatan**  
Untuk menyelesaikan beberapa prosedur dalam topik ini, Anda harus masuk dengan pengguna adminstratif yang memiliki izin yang memadai untuk mengkonfigurasi dan menerapkan kebijakan IAM. Untuk informasi selengkapnya, lihat [Membuat pengguna dan grup admin IAM pertama Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html). 

**Topics**
+ [Mengkonfigurasi kebijakan IAM untuk membatasi dorongan dan penggabungan ke cabang](#how-to-conditional-branch-create-policy)
+ [Terapkan kebijakan IAM ke grup atau peran IAM](#how-to-conditional-branch-apply-policy)
+ [Menguji kebijakan](#how-to-conditional-branch-test)

## Mengkonfigurasi kebijakan IAM untuk membatasi dorongan dan penggabungan ke cabang
<a name="how-to-conditional-branch-create-policy"></a>

Anda dapat membuat kebijakan di IAM yang mencegah pengguna memperbarui cabang, termasuk mendorong commit ke cabang dan penggabungan permintaan tarik ke cabang. Untuk melakukannya, kebijakan Anda menggunakan pernyataan bersyarat, sehingga efek dari pernyataan `Deny` hanya berlaku jika syarat tersebut terpenuhi. Yang APIs Anda sertakan dalam `Deny` pernyataan menentukan tindakan mana yang tidak diizinkan. Anda dapat mengkonfigurasi kebijakan ini untuk menerapkan hanya satu cabang di repositori, sejumlah cabang di repositori, atau untuk semua cabang yang cocok dengan kriteria di semua repositori di akun Amazon Web Services. <a name="how-to-conditional-branch-create-policy-procedure"></a>

**Untuk membuat kebijakan bersyarat untuk cabang**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Kebijakan**. 

1. Pilih **Buat kebijakan**.

1. Pilih **JSON**, dan kemudian tempelkan kebijakan contoh berikut. Ganti nilai `Resource` dengan ARN dari repositori yang berisi cabang yang Anda ingin membatasi akses. Ganti nilai `codecommit:References` dengan referensi ke cabang atau cabang yang Anda ingin membatasi akses. Misalnya, kebijakan ini menolak mendorong commit, menggabungkan cabang, menghapus cabang, menghapus file, menggabungkan permintaan tarik, dan menambahkan file ke cabang bernama dan cabang bernama dalam *`main`* repositori bernama: `prod` `MyDemoRepo`

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Deny",
               "Action": [
                   "codecommit:GitPush",
                   "codecommit:DeleteBranch",
                   "codecommit:DeleteFile",
                   "codecommit:PutFile",
                   "codecommit:MergeBranchesByFastForward",
                   "codecommit:MergeBranchesBySquash",
                   "codecommit:MergeBranchesByThreeWay",
                   "codecommit:MergePullRequestByFastForward",
                   "codecommit:MergePullRequestBySquash",
                   "codecommit:MergePullRequestByThreeWay"
               ],
               "Resource": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo",
               "Condition": {
                   "StringEqualsIfExists": {
                       "codecommit:References": [
                           "refs/heads/main", 
                           "refs/heads/prod"
                        ]
                   },
                   "Null": {
                       "codecommit:References": "false"
                   }
               }
           }
       ]
   }
   ```

------

   Cabang di Git hanya (referensi) pointer ke nilai SHA-1 dari kepala commit, yang mengapa syarat tersebut menggunakan `References`. Parameter pernyataan `Null` diperlukan dalam setiap kebijakan yang efeknya adalah `Deny` dan di mana `GitPush` adalah salah satu tindakan. Ini diperlukan karena cara Git dan `git-receive-pack` bekerja saat mendorong perubahan dari repo lokal ke CodeCommit.
**Tip**  
Untuk membuat kebijakan yang berlaku untuk semua cabang yang bernama utama di semua repositori di akun Amazon Web Services, ubah nilai `Resource` dari repositori ARN ke sebuah tanda bintang (`*`). 

1. Pilih **Tinjau kebijakan**. Perbaiki kesalahan dalam pernyataan kebijakan Anda, dan kemudian lanjutkan **Buat kebijakan**.

1. Ketika JSON divalidasi, halaman **Buat kebijakan** ditampilkan. Sebuah peringatan muncul di bagian **Ringkasan**, yang memberitahu Anda bahwa kebijakan ini tidak memberikan izin. Ini yang diharapkan. 
   + Di **Nama**, masukkan nama untuk kebijakan ini, seperti **DenyChangesToMain**.
   + (Opsional) Untuk **Deskripsi**, masukkan deskripsi tujuan kebijakan. Ini memang opsional, tetapi direkomendasikan.
   + Pilih **Buat kebijakan**.

## Terapkan kebijakan IAM ke grup atau peran IAM
<a name="how-to-conditional-branch-apply-policy"></a>

Anda telah membuat kebijakan yang membatasi penggabungan dan penggabungan ke cabang, namun kebijakan tersebut tidak berpengaruh hingga Anda menerapkannya ke pengguna, grup, atau peran IAM. Sebagai praktik terbaik, pertimbangkan untuk menerapkan kebijakan ke grup atau peran IAM. Menerapkan kebijakan untuk pengguna IAM individu tidak menskalakan dengan baik.<a name="how-to-conditional-branch-apply-policy-procedure"></a>

**Untuk menerapkan kebijakan bersyarat ke sebuah grup atau peran**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, jika Anda ingin menerapkan kebijakan ke grup IAM, pilih **Grup**. Jika Anda ingin menerapkan kebijakan untuk peran yang diambil oleh pengguna , pilih **Peran**. Pilih nama grup atau peran.

1. Di tab **Izin**, pilih **Lampirkan kebijakan**.

1. Pilih kebijakan bersyarat yang Anda buat dari daftar kebijakan, dan kemudian pilih **Lampirkan kebijakan**.

Untuk informasi selengkapnya, lihat [Melampirkan dan Melepaskan Lampiran Kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

## Menguji kebijakan
<a name="how-to-conditional-branch-test"></a>

Anda harus menguji efek dari kebijakan yang telah Anda terapkan pada grup atau peran untuk memastikan tindakan tersebut sesuai harapan. Ada banyak cara Anda dapat melakukan ini. Misalnya, untuk menguji kebijakan yang serupa dengan yang ditunjukkan di atas, Anda dapat:
+ Masuk ke CodeCommit konsol dengan pengguna IAM yang merupakan anggota grup IAM yang menerapkan kebijakan tersebut, atau mengambil peran yang menerapkan kebijakan tersebut. Di konsol, tambahkan file di cabang tempat pembatasan berlaku. Anda akan melihat pesan kesalahan ketika Anda mencoba untuk menyimpan atau mengunggah file ke cabang tersebut. Tambahkan file ke cabang yang berbeda. Operasi tersebut seharusnya berhasil.
+ Masuk ke CodeCommit konsol dengan pengguna IAM yang merupakan anggota grup IAM yang menerapkan kebijakan tersebut, atau mengambil peran yang menerapkan kebijakan tersebut. Buatlah sebuah permintaan tarik yang bergabung ke cabang di mana pembatasan berlaku. Anda harus dapat membuat permintaan tarik, tetapi mendapatkan kesalahan jika Anda mencoba untuk menggabungkannya. 
+ Dari terminal atau baris perintah, buat komit di cabang tempat pembatasan berlaku, lalu dorong komit itu ke CodeCommit repositori. Anda akan melihat pesan kesalahan. Commit dan dorongan yang dibuat dari cabang lain seharusnya bekerja seperti biasa.

# Lihat detail cabang di AWS CodeCommit
<a name="how-to-view-branch-details"></a>

Anda dapat menggunakan CodeCommit konsol untuk melihat detail tentang cabang di CodeCommit repositori. Anda dapat menampilkan tanggal commit terakhir ke cabang, pesan commit, dan lainnya. Anda juga dapat menggunakan AWS CLI atau Git dari repo lokal yang terhubung ke CodeCommit repositori.

**Topics**
+ [Tampilkan detail cabang (konsol)](#how-to-view-branch-details-console)
+ [Tampilkan detail cabang (Git)](#how-to-view-branch-details-git)
+ [Tampilkan detail cabang (AWS CLI)](#how-to-view-branch-details-cli)

## Tampilkan detail cabang (konsol)
<a name="how-to-view-branch-details-console"></a>

Gunakan CodeCommit konsol untuk dengan cepat melihat daftar cabang untuk repositori Anda dan detail tentang cabang.

1. Buka CodeCommit konsol di [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. Di **Repositori**, pilih nama repositori tempat Anda ingin menampilkan detail cabang. 

1. Di panel navigasi, pilih **Cabang**.  
![\[Tampilan dari cabang di repositori.\]](http://docs.aws.amazon.com/id_id/codecommit/latest/userguide/images/codecommit-branches.png)

1. Nama cabang yang digunakan sebagai default untuk repositori ditampilkan di sebelah **Cabang default**. Untuk menampilkan detail tentang commit terbaru untuk suatu cabang, pilih cabang, lalu pilih **Tampilkan commit terakhir**. Untuk menampilkan file dan kode di cabang, pilih nama cabang. 

## Tampilkan detail cabang (Git)
<a name="how-to-view-branch-details-git"></a>

Untuk menggunakan Git dari repo lokal untuk melihat detail tentang cabang pelacakan lokal dan jarak jauh untuk CodeCommit repositori, jalankan perintah. **git branch**

Langkah-langkah berikut ditulis dengan asumsi bahwa Anda telah menghubungkan repo lokal ke repositori. CodeCommit Untuk petunjuk, lihat [Connect ke sebuah repositori](how-to-connect.md).

1. Jalankan perintah **git branch**, dengan menentukan opsi **--all**:

   ```
   git branch --all
   ```

1. Jika berhasil, perintah ini mengembalikan output yang serupa dengan yang berikut:

   ```
     MyNewBranch
   * main
     remotes/origin/MyNewBranch
     remotes/origin/main
   ```

   Tanda bintang (`*`) muncul di sebelah cabang yang sedang terbuka. Entri setelah itu adalah referensi pelacakan jarak jauh.
**Tip**  
**git branch** menunjukkan cabang lokal.  
**git branch -r** menunjukkan cabang jarak jauh.  
**git checkout *existing-branch-name*** mengalihkan ke nama cabang yang ditentukan dan, jika **git branch** dijalankan segera sesudahnya, menampilkannya dengan tanda bintang (`*`).  
**git remote update *remote-name***memperbarui repo lokal Anda dengan daftar cabang CodeCommit repositori yang tersedia. (Untuk mendapatkan daftar nama CodeCommit repositori dan mereka URLs, jalankan **git remote -v** perintah.)

Untuk opsi lainnya, lihat dokumentasi Git Anda.

## Tampilkan detail cabang (AWS CLI)
<a name="how-to-view-branch-details-cli"></a>

Untuk menggunakan AWS CLI perintah dengan CodeCommit, instal file AWS CLI. Untuk informasi selengkapnya, lihat [Referensi baris perintah](cmd-ref.md). 

Untuk menggunakan AWS CLI untuk melihat detail tentang cabang dalam CodeCommit repositori, jalankan satu atau beberapa perintah berikut:
+ Untuk menampilkan daftar nama cabang, jalankan [daftar-cabang](#how-to-view-branch-details-cli).
+ Untuk menampilkan informasi tentang cabang tertentu, jalankan [get-branch](#how-to-view-branch-details-cli-details).

### Untuk menampilkan daftar nama cabang
<a name="how-to-view-branch-details-cli-list"></a>

1. Jalankan **list-branches** perintah, tentukan nama CodeCommit repositori (dengan opsi). `--repository-name`
**Tip**  
Untuk mendapatkan nama repositori, jalankan perintah CodeCommit [list-repositori](how-to-view-repository-details.md#how-to-view-repository-details-no-name-cli).

   Misalnya, untuk melihat detail tentang cabang dalam CodeCommit repositori bernama: `MyDemoRepo`

   ```
   aws codecommit list-branches --repository-name MyDemoRepo
   ```

1. Jika berhasil, perintah ini menghasilkan objek `branchNameList`, dengan entri untuk setiap cabang.

   Berikut adalah beberapa contoh output berdasarkan perintah sebelumnya:

   ```
   {
       "branches": [
           "MyNewBranch",
           "main"
       ]
   }
   ```

### Untuk menampilkan informasi tentang sebuah cabang
<a name="how-to-view-branch-details-cli-details"></a>

1. Jalankan perintah **get-branch**, dengan menentukan:
   + Nama repositori (dengan opsi **--repository-name**).
   + Nama cabang baru (dengan opsi **--branch-name**).

   Misalnya, untuk melihat informasi tentang cabang bernama `MyNewBranch` dalam CodeCommit repositori bernama: `MyDemoRepo`

   ```
   aws codecommit get-branch --repository-name MyDemoRepo --branch-name MyNewBranch
   ```

1. Jika berhasil, perintah ini mengeluarkan nama cabang dan ID dari commit terakhir yang dibuat untuk cabang tersebut.

   Berikut adalah beberapa contoh output berdasarkan perintah sebelumnya:

   ```
   {
       "branch": {
             "branchName": "MyNewBranch",
             "commitID": "317f8570EXAMPLE"
       }
   }
   ```

# Bandingkan dan gabungkan cabang di AWS CodeCommit
<a name="how-to-compare-branches"></a>

Anda dapat menggunakan CodeCommit konsol untuk membandingkan cabang di CodeCommit repositori. Membandingkan cabang membantu Anda dengan cepat melihat perbedaan antara sebuah cabang dan cabang default, atau melihat perbedaan antara dua cabang.

**Topics**
+ [Bandingkan sebuah cabang terhadap cabang default](#how-to-compare-branches-default)
+ [Bandingkan dua cabang tertentu](#how-to-compare-branches-two)
+ [Gabungkan dua cabang (AWS CLI)](#how-to-merge-branches-cli)

## Bandingkan sebuah cabang terhadap cabang default
<a name="how-to-compare-branches-default"></a>

Gunakan CodeCommit konsol untuk dengan cepat melihat perbedaan antara cabang dan cabang default untuk repositori Anda.

1. Buka CodeCommit konsol di [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. Di **Repositori**, pilih nama repositori tempat Anda ingin membandingkan cabang. 

1. Di panel navigasi, pilih **Commit**, dan kemudian pilih tab **Bandingkan commit**.

1. Di **Tujuan**, pilih nama cabang default. Di **Sumber**, pilih cabang yang ingin Anda bandingkan dengan cabang default. Pilih **Bandingkan**.

## Bandingkan dua cabang tertentu
<a name="how-to-compare-branches-two"></a>

Gunakan CodeCommit konsol untuk melihat perbedaan antara dua cabang yang ingin Anda bandingkan.

1. Buka CodeCommit konsol di [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. Di **Repositori**, pilih nama repositori tempat Anda ingin membandingkan cabang. 

1. Di panel navigasi, pilih **Commit**, dan kemudian pilih tab **Bandingkan commit**.

1. Di **Tujuan** dan **Sumber**, pilih dua cabang untuk dibandingkan, lalu pilih **Bandingkan**. Untuk menampilkan daftar file yang diubah, perluas daftar file yang diubah. Anda dapat menampilkan perubahan pada file yang berdampingan (Split view) atau inline (Unified view).
**catatan**  
Jika Anda masuk sebagai pengguna IAM, Anda dapat mengonfigurasi dan menyimpan preferensi Anda untuk menampilkan kode dan pengaturan konsol lainnya. Untuk informasi selengkapnya, lihat [Bekerja dengan preferensi pengguna](user-preferences.md).  
![\[Tampilan yang disingkat tentang perbedaan antara dua cabang.\]](http://docs.aws.amazon.com/id_id/codecommit/latest/userguide/images/codecommit-compare-branches.png)

## Gabungkan dua cabang (AWS CLI)
<a name="how-to-merge-branches-cli"></a>

Anda dapat menggabungkan dua cabang dalam CodeCommit repositori menggunakan AWS CLI menggunakan salah satu strategi penggabungan yang tersedia dengan menjalankan salah satu perintah berikut:
+ Untuk menggabungkan dua cabang menggunakan strategi gabungan maju cepat, jalankan perintah [**merge-branches-by-fast-forward**](#merge-branches-by-fast-forward).
+ Untuk menggabungkan dua cabang menggunakan strategi gabungan squash, jalankan perintah [**merge-branches-by-squash**](#merge-branches-by-squash).
+ Untuk menggabungkan dua cabang menggunakan strategi gabungan tiga arah, jalankan perintah [**merge-branches-by-three-way**](#merge-branches-by-three-way).

Anda juga dapat menguji penggabungan dengan menjalankan perintah **create-unreferenced-merge-commit**. Untuk informasi selengkapnya, lihat [Selesaikan Konflik dalam Permintaan Tarik](how-to-resolve-conflict-pull-request.md#create-unreferenced-merge-commit).

**catatan**  
Untuk menggunakan AWS CLI perintah dengan CodeCommit, instal file AWS CLI. Untuk informasi selengkapnya, lihat [Referensi baris perintah](cmd-ref.md). 

**Untuk menggunakan AWS CLI untuk menggabungkan dua cabang dalam repositori CodeCommit**

1. <a name="merge-branches-by-fast-forward"></a>Untuk menggabungkan dua cabang menggunakan strategi gabungan maju cepat, jalankan perintah **merge-branches-by-fast-forward**, dengan menentukan: 
   + Nama cabang sumber yang berisi perubahan yang ingin Anda gabungkan (dengan opsi **--source-commit-specifier**). 
   + Nama cabang tujuan di mana Anda ingin menggabungkan perubahan Anda (dengan opsi **--destination-commit-specifier**). 
   + Nama dari repositori tersebut (dengan opsi **--repository-name**).

    Misalnya, untuk menggabungkan cabang sumber bernama *bugfix-1234* ke cabang tujuan bernama *preprod* dalam repositori bernama: *MyDemoRepo*

   ```
   aws codecommit merge-branches-by-fast-forward --source-commit-specifier bugfix-bug1234 --destination-commit-specifier preprod --repository-name MyDemoRepo
   ```

   Jika berhasil, perintah ini menghasilkan output yang serupa dengan yang berikut:

   ```
   {
       "commitId": "4f178133EXAMPLE",
       "treeId": "389765daEXAMPLE"
   }
   ```

1. <a name="merge-branches-by-squash"></a>Untuk menggabungkan dua cabang menggunakan strategi gabungan squash, jalankan perintah **merge-branches-by-squash**, dengan menentukan:
   + Nama cabang sumber yang berisi perubahan yang ingin Anda gabungkan (dengan opsi **--source-commit-specifier**). 
   + Nama cabang tujuan di mana Anda ingin menggabungkan perubahan Anda (dengan opsi **--destination-commit-specifier**). 
   + Nama dari repositori tersebut (dengan opsi **--repository-name**).
   + Pesan commit yang harus disertakan (dengan opsi **--commit-message**).
   + Nama yang digunakan untuk commit (dengan opsi **--name**).
   + Alamat email yang digunakan untuk commit (dengan opsi **--email**).

   Misalnya, untuk menggabungkan cabang sumber bernama *bugfix-bug1234* dengan cabang tujuan bernama *bugfix-quarterly* dalam repositori bernama: *MyDemoRepo*

   ```
   aws codecommit merge-branches-by-squash --source-commit-specifier bugfix-bug1234 --destination-commit-specifier bugfix-quarterly --author-name "Maria Garcia" --email "maria_garcia@example.com" --commit-message "Merging in fix branches to prepare for a general patch." --repository-name MyDemoRepo
   ```

   Jika berhasil, perintah ini menghasilkan output yang serupa dengan yang berikut:

   ```
   {
       "commitId": "4f178133EXAMPLE",
       "treeId": "389765daEXAMPLE"
   }
   ```

1. <a name="merge-branches-by-three-way"></a>Untuk menggabungkan dua cabang menggunakan strategi gabungan tiga arah, jalankan perintah **merge-branches-by-three-way**, dengan menentukan:
   + Nama cabang sumber yang berisi perubahan yang ingin Anda gabungkan (dengan opsi **--source-commit-specifier**). 
   + Nama cabang tujuan di mana Anda ingin menggabungkan perubahan Anda (dengan opsi **--destination-commit-specifier**). 
   + Nama dari repositori tersebut (dengan opsi **--repository-name**).
   + Pesan commit yang harus disertakan (dengan opsi **--commit-message**).
   + Nama yang digunakan untuk commit (dengan opsi **--name**).
   + Alamat email yang digunakan untuk commit (dengan opsi **--email**).

   Misalnya, untuk menggabungkan cabang sumber bernama *main* dengan cabang tujuan bernama *bugfix-1234* dalam repositori bernama: *MyDemoRepo*

   ```
   aws codecommit merge-branches-by-three-way --source-commit-specifier main --destination-commit-specifier bugfix-bug1234 --author-name "Jorge Souza" --email "jorge_souza@example.com" --commit-message "Merging changes from main to bugfix branch before additional testing."  --repository-name MyDemoRepo
   ```

   Jika berhasil, perintah ini menghasilkan output yang serupa dengan yang berikut:

   ```
   {
       "commitId": "4f178133EXAMPLE",
       "treeId": "389765daEXAMPLE"
   }
   ```

# Ubah pengaturan cabang di AWS CodeCommit
<a name="how-to-change-branch"></a>

Anda dapat mengubah cabang mana yang akan digunakan sebagai cabang default di AWS CodeCommit konsol atau dengan AWS CLI. Sebagai contoh, jika Anda membuat commit pertama Anda menggunakan klien Git yang mengatur cabang default untuk *utama*, anda dapat membuat sebuah cabang yang bernama *utama*, dan kemudian mengubah pengaturan cabang sehingga cabang baru ditetapkan sebagai cabang default untuk repositori tersebut. Untuk mengubah pengaturan cabang lainnya, Anda dapat menggunakan Git dari repo lokal yang terhubung ke CodeCommit repositori. 

**Topics**
+ [Ubah default branch (konsol)](#how-to-change-branch-console)
+ [Ubah cabang default (AWS CLI)](#how-to-change-branch-cli)

## Ubah default branch (konsol)
<a name="how-to-change-branch-console"></a>

Anda dapat menentukan cabang mana yang merupakan cabang default di CodeCommit repositori di konsol. AWS CodeCommit 

1. Buka CodeCommit konsol di [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. Di **Repositori**, pilih nama repositori tempat Anda ingin mengubah pengaturan. 

1. Pada panel navigasi, silakan pilih **Pengaturan**.

1. Di **Cabang default**, pilih daftar drop-down cabang dan pilih cabang yang berbeda. Pilih **Simpan**.
**Tip**  
Jika Anda tidak melihat cabang lain dalam daftar drop-down, Anda belum membuat cabang tambahan. Anda tidak dapat mengubah cabang default dari repositori jika repositori hanya memiliki satu cabang. Untuk informasi selengkapnya, lihat [Buat cabang di AWS CodeCommit](how-to-create-branch.md).
Jika Anda tidak melihat bagian **cabang Default** tetapi melihat item untuk aturan dan koneksi notifikasi, Anda berada di menu pengaturan umum untuk konsol. **Menu pengaturan untuk repositori tercantum di bawah **Repositori** pada tingkat yang sama dengan permintaan **Kode** dan Tarik.**

## Ubah cabang default (AWS CLI)
<a name="how-to-change-branch-cli"></a>

Untuk menggunakan AWS CLI perintah dengan CodeCommit, instal file AWS CLI. Untuk informasi selengkapnya, lihat [Referensi baris perintah](cmd-ref.md). 

Untuk menggunakan AWS CLI untuk mengubah pengaturan cabang repositori di CodeCommit repositori, jalankan perintah berikut:
+ [update-default-branch](#how-to-change-branch-cli-default)untuk mengubah cabang default.

### Untuk mengubah cabang default
<a name="how-to-change-branch-cli-default"></a>

1. Jalankan perintah **update-default-branch**, dengan menentukan:
   + Nama CodeCommit repositori tempat cabang default diperbarui (dengan **--repository-name** opsi).
**Tip**  
Untuk mendapatkan nama repositori, jalankan perintah CodeCommit [list-repositori](how-to-view-repository-details.md#how-to-view-repository-details-no-name-cli).
   + Nama dari cabang default baru (dengan opsi **--default-branch-name**).
**Tip**  
Untuk mendapatkan nama cabang, jalankan perintah [list-branches](how-to-view-branch-details.md#how-to-view-branch-details-cli).

1. Misalnya, untuk mengubah cabang default ke `MyNewBranch` dalam CodeCommit repositori bernama: `MyDemoRepo`

   ```
   aws codecommit update-default-branch --repository-name MyDemoRepo --default-branch-name MyNewBranch
   ```

   Perintah ini menghasilkan output hanya jika ada kesalahan.

Untuk opsi lainnya, lihat dokumentasi Git Anda.

# Hapus cabang di AWS CodeCommit
<a name="how-to-delete-branch"></a>

Anda dapat menggunakan CodeCommit konsol untuk menghapus cabang di repositori. Menghapus cabang di CodeCommit tidak menghapus cabang itu di repo lokal, jadi pengguna mungkin terus memiliki salinan cabang itu hingga saat berikutnya mereka menarik perubahan. Untuk menghapus cabang secara lokal dan mendorong perubahan itu ke CodeCommit repositori, gunakan Git dari repo lokal yang terhubung ke repositori. CodeCommit 

Menghapus cabang tidak menghapus commit apa pun, tetapi menghapus semua referensi ke commit di cabang itu. Jika Anda menghapus cabang yang berisi komit yang belum digabungkan ke cabang lain di repositori, Anda tidak dapat mengambil komit tersebut kecuali Anda memiliki komit penuhnya. IDs 

**catatan**  
Anda tidak dapat menggunakan petunjuk dalam topik ini untuk menghapus cabang default repositori. Jika Anda ingin menghapus cabang default, Anda harus membuat sebuah cabang, menjadikan cabang baru tersebut cabang default, dan kemudian menghapus cabang lama. Untuk informasi selengkapnya, lihat [Buatlah sebuah cabang](how-to-create-branch.md) dan [Ubah pengaturan cabang](how-to-change-branch.md).

**Topics**
+ [Hapuslah sebuah cabang (konsol)](#how-to-delete-branch-console)
+ [Hapuslah sebuah cabang (AWS CLI)](#how-to-delete-branch-cli)
+ [Hapuslah sebuah cabang (Git)](#how-to-delete-branch-git)

## Hapuslah sebuah cabang (konsol)
<a name="how-to-delete-branch-console"></a>

Anda dapat menggunakan CodeCommit konsol untuk menghapus cabang di CodeCommit repositori. 

1. Buka CodeCommit konsol di [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. Di **Repositori**, pilih nama repositori tempat Anda ingin menghapus cabang. 

1. Di panel navigasi, pilih **Cabang**.

1. Temukan nama cabang yang ingin Anda hapus, pilih **Hapus cabang**, dan konfirmasikan pilihan Anda.

## Hapuslah sebuah cabang (AWS CLI)
<a name="how-to-delete-branch-cli"></a>

Anda dapat menggunakan AWS CLI untuk menghapus cabang di CodeCommit repositori, jika cabang itu bukan cabang default untuk repositori. Untuk informasi lebih lanjut tentang menginstal dan menggunakan AWS CLI, lihat[Referensi baris perintah](cmd-ref.md). 

1. Pada terminal atau baris perintah, jalankan perintah **delete-branch**, dengan menentukan:
   + Nama CodeCommit repositori tempat cabang akan dihapus (dengan **--repository-name** opsi).
**Tip**  
Untuk mendapatkan nama repositori, jalankan perintah CodeCommit [list-repositori](how-to-view-repository-details.md#how-to-view-repository-details-no-name-cli).
   + Nama cabang yang akan dihapus (dengan opsi **branch-name**).
**Tip**  
Untuk mendapatkan nama cabang, jalankan perintah [list-branches](how-to-view-branch-details.md#how-to-view-branch-details-cli).

1. Misalnya, untuk menghapus cabang bernama `MyNewBranch` dalam CodeCommit repositori bernama: `MyDemoRepo`

   ```
   aws codecommit delete-branch --repository-name MyDemoRepo --branch-name MyNewBranch
   ```

   Perintah ini mengembalikan informasi tentang cabang yang dihapus, termasuk nama cabang yang dihapus dan ID commit penuh dari commit yang dulunya merupakan kepala cabang. Contoh:

   ```
   "deletedBranch": {
       "branchName": "MyNewBranch",
       "commitId": "317f8570EXAMPLE"
   }
   ```

## Hapuslah sebuah cabang (Git)
<a name="how-to-delete-branch-git"></a>

Ikuti langkah-langkah ini untuk menggunakan Git dari repo lokal untuk menghapus cabang dalam CodeCommit repositori.

Langkah-langkah ini ditulis dengan asumsi bahwa Anda telah menghubungkan repo lokal ke repositori. CodeCommit Untuk petunjuk, lihat [Connect ke sebuah repositori](how-to-connect.md).

1. Untuk menghapus cabang dari repo lokal, jalankan **git branch -D *branch-name*** perintah di *branch-name* mana nama cabang yang ingin Anda hapus.
**Tip**  
Untuk mendapatkan daftar nama cabang, jalankan **git branch --all**.

   Misalnya, untuk menghapus cabang di repo lokal yang bernama `MyNewBranch`:

   ```
   git branch -D MyNewBranch
   ```

1. Untuk menghapus cabang dari CodeCommit repositori, jalankan **git push *remote-name* --delete *branch-name*** perintah di mana nama panggilan yang *remote-name* digunakan repo lokal untuk CodeCommit repositori dan *branch-name* merupakan nama cabang yang ingin Anda hapus dari repositori. CodeCommit 
**Tip**  
Untuk mendapatkan daftar nama CodeCommit repositori dan mereka URLs, jalankan perintah. **git remote -v**

   Misalnya, untuk menghapus cabang bernama `MyNewBranch` dalam CodeCommit repositori bernama: `origin`

   ```
   git push origin --delete MyNewBranch
   ```
**Tip**  
Perintah ini tidak menghapus cabang jika cabang tersebut adalah cabang default.

Untuk opsi lainnya, lihat dokumentasi Git Anda.