Saya mulai mengerjakan cabang utama saya dengan berpikir bahwa tugas saya akan mudah. Setelah beberapa saat saya menyadari bahwa itu akan membutuhkan lebih banyak pekerjaan dan saya ingin melakukan semua pekerjaan ini di cabang baru.
Bagaimana saya bisa membuat cabang baru dan membawa semua perubahan ini tanpa master kotor ?
git
git-branch
willcodejavaforfood
sumber
sumber
branch current changes
vsexisting uncommited branch
. Siapa pun yang berbicara bahasa Inggris akan segera melihat bahwa mereka sama, tetapi mesin pencari mungkin tidak. Simpan pertanyaan ini.Jawaban:
Jika Anda belum membuat komitmen, hanya (1: cabang) dan (3: checkout) sudah cukup.
Atau, dalam satu perintah:
git checkout -b newBranch
Seperti yang disebutkan di
git reset
halaman manual :master
cabang " ". Anda ingin melanjutkan memolesnya di cabang topik, jadi buat "topic/wip
" cabang dari arusHEAD
.master
cabang untuk menyingkirkan ketiga komitmen tersebut.topic/wip
cabang " " dan terus bekerja.Catatan: karena efek "destruktif" dari sebuah
git reset --hard
perintah (perintah ini mengatur ulang indeks dan pohon kerja. Setiap perubahan pada file yang dilacak di pohon kerja sejak<commit>
dibuang), saya lebih suka menggunakan:Ini akan memastikan saya tidak kehilangan file pribadi apa pun (tidak ditambahkan ke indeks).
The
--soft
pilihan untuk tidak akan menyentuh file indeks maupun pohon bekerja sama sekali (tapi me-reset kepala untuk<commit>
, seperti semua mode lakukan).Dengan Git 2.23+ , perintah baru
git switch
akan membuat cabang dalam satu baris (dengan jenis yang samareset --hard
, jadi waspadalah terhadap efeknya):sumber
git reset --hard
akan membatalkan perubahan Anda, dan jika itu belum dilakukan, itu tidak dapat dipulihkan! Anda mungkin perlugit checkout -b …
git checkout -b
pertama.topic_wip
akan bekerja juga;)Seperti yang dinyatakan dalam pertanyaan ini: Git: Buat cabang dari perubahan tidak bertanda / tidak dikomit pada master : simpanan tidak diperlukan.
Cukup gunakan:
git checkout -b topic/newbranch
Setiap pekerjaan yang tidak berkomitmen akan dibawa ke cabang baru.
Jika Anda mencoba mendorong Anda akan mendapatkan pesan berikut
Lakukan seperti yang disarankan untuk membuat cabang dari jarak jauh:
git push --set-upstream origin feature/feature/NEWBRANCH
sumber
Ikuti langkah ini:
Buat cabang baru:
Periksa cabang baru: (ini tidak akan mengatur ulang pekerjaan Anda.)
Sekarang lakukan pekerjaan Anda di cabang baru ini:
Menggunakan langkah-langkah di atas akan membuat cabang asli Anda bersih dan Anda tidak perlu melakukan 'git reset --hard'.
sumber
-s
pada langkah 3.Karena Anda belum melakukan komitmen apa pun, Anda dapat menyimpan semua perubahan Anda ke simpanan, membuat dan beralih ke cabang baru, lalu seret perubahan itu kembali ke pohon kerja Anda:
sumber
git stash push
bukan perintah. Anda mungkin ingin menggunakangit stash
ataugit stash save
. Jika Anda ingin memasukkan file yang tidak terlacak dalam simpanan, gunakan--include-untracked
opsi. Demikian juga, jika Anda ingin memasukkan file yang tidak terlacak dan diabaikan dalam simpanan, gunakan--add
opsi sebagai gantinya.Untuk menambahkan perubahan baru ke cabang baru dan mendorong ke jarak jauh:
Seringkali saya lupa menambahkan bagian asal untuk mendorong dan bingung mengapa saya tidak melihat cabang baru / komit di bitbucket
sumber