Saya baru-baru ini mengalami masalah ini lagi. Sudah lama sejak saya terakhir bekerja dengan submodules dan setelah belajar lebih banyak tentang git saya menyadari bahwa hanya memeriksa cabang yang ingin Anda komit sudah cukup. Git akan menjaga pohon yang berfungsi meskipun Anda tidak menyembunyikannya.
git checkout existing_branch_name
Jika Anda ingin bekerja di cabang baru, ini akan berfungsi untuk Anda:
git checkout -b new_branch_name
Checkout akan gagal jika Anda memiliki konflik di pohon kerja, tetapi itu harus sangat tidak biasa dan jika itu terjadi, Anda dapat menyimpannya, pop dan menyelesaikan konflik.
Dibandingkan dengan jawaban yang diterima, jawaban ini akan menyelamatkan Anda dari eksekusi dua perintah, itu tidak terlalu lama untuk dijalankan. Karena itu saya tidak akan menerima jawaban ini, kecuali secara ajaib mendapat lebih banyak upvotes (atau paling tidak dekat) daripada jawaban yang saat ini diterima.