Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save yogithesymbian/6dd41d927bb22c157d7eb9a94d006e97 to your computer and use it in GitHub Desktop.
Save yogithesymbian/6dd41d927bb22c157d7eb9a94d006e97 to your computer and use it in GitHub Desktop.

Revisions

  1. yogithesymbian created this gist May 1, 2025.
    127 changes: 127 additions & 0 deletions cheat sheet multi account git.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,127 @@
    🔄 Cara Ubah Remote Origin URL (kalau sudah terlanjur clone):
    Kalau kamu sudah clone dan ingin ganti ke alias yang benar, kamu tinggal jalankan ini di dalam folder project:

    bash
    Copy
    Edit
    ```
    git remote set-url origin [email protected]:yogithesymbian/api-yoai-nodejs.git
    ```
    Setelah itu kamu bisa git pull, git push, dll tanpa error dan pakai akun yang benar.


    Oke, kita setup dari awal untuk GitHub dengan **dua akun berbeda** dan tetap menjaga konfigurasi GitLab kamu yang sudah ada.

    Misalnya:

    * Akun GitHub Personal → `id_ed25519_github_personal`
    * Akun GitHub Work → `id_ed25519_github_work`

    ---

    ### ✅ 1. **Generate SSH Key Baru untuk Masing-Masing Akun GitHub**

    ```bash
    ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/id_ed25519_github_personal
    ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/id_ed25519_github_work
    ```

    Ini akan menghasilkan:

    * `~/.ssh/id_ed25519_github_personal` dan `.pub`
    * `~/.ssh/id_ed25519_github_work` dan `.pub`

    ---

    ### ✅ 2. **Tambahkan SSH Keys ke SSH Agent**

    ```bash
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_ed25519_github_personal
    ssh-add ~/.ssh/id_ed25519_github_work
    ```

    ---

    ### ✅ 3. **Update File `~/.ssh/config`**

    Edit dan tambahkan bagian ini (jangan hapus yang GitLab ya):

    ```ssh
    # GitHub Personal
    Host github.com-personal
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_github_personal
    IdentitiesOnly yes
    # GitHub Work
    Host github.com-work
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_github_work
    IdentitiesOnly yes
    ```

    Setelah digabung dengan yang kamu punya, jadinya:

    ```ssh
    # GitLab.com
    Host gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_ed25519
    # Private GitLab instance
    Host git.beemata.dev
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_ed25519
    # GitHub Personal
    Host github.com-personal
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_github_personal
    IdentitiesOnly yes
    # GitHub Work
    Host github.com-work
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_github_work
    IdentitiesOnly yes
    ```

    ---

    ### ✅ 4. **Tambahkan Public Key ke GitHub**

    * Masuk ke akun GitHub Personal → Settings → **SSH and GPG keys** → Add SSH Key

    * Masukkan isi file `~/.ssh/id_ed25519_github_personal.pub`
    * Lakukan juga untuk akun Work dengan file `id_ed25519_github_work.pub`

    ---

    ### ✅ 5. **Clone Repo Menggunakan Alias Host**

    * Untuk personal:

    ```bash
    git clone [email protected]:yogithesymbian/api-yoai-nodejs.git
    ```
    * Untuk work:

    ```bash
    git clone [email protected]:namauserwork/nama-repo.git
    ```

    ---

    ### ✅ 6. **(Opsional) Set Git User per Project**

    Masuk ke dalam folder project dan atur username/email:

    ```bash
    git config user.name "Nama Akun"
    git config user.email "[email protected]"
    ```