menggabungkan satu cabang lokal menjadi cabang lokal lainnya

167

Saya memiliki beberapa cabang yang bercabang dari master (masing-masing dalam subdirektori terpisah).

  • Branch1: pengembangan baru, belum sepenuhnya selesai
  • Branch2: perbaikan terbaru untuk masalah, tetapi masih dalam pengujian
  • Branch3: main-main cabang, yang saya tidak akan mengembalikan

Sebelum pengujian perbaikan terbaru selesai saya ingin memiliki kode yang sudah tersedia di Branch1, sehingga saya dapat terus mengembangkan dengan perbaikan di tempat.
(Tapi karena pengalaman saya dengan git tidak banyak, saya pertama kali mulai bermain-main dengan penggabungan di cabang ke-3, terutama dibuat untuk mengacaukan, sebelum saya mengacaukan Branch1 atau Branch2)

Di cabang ke-3 saya, saya pertama kali mencoba yang berikut:

git merge feature/Branch1

tapi ini memberi kesalahan berikut:

fatal: 'feature/Branch1' does not point to a commit

Saya selanjutnya melakukan commit -a di Branch1 saya dan mencoba lagi, tetapi tetap memberikan kesalahan yang sama.

Apa yang saya lakukan salah? Apa yang harus saya lakukan untuk menggabungkan kode dari - dalam hal ini - Branch1 dengan Branch3?

Nemelis
sumber

Jawaban:

236

Pertama, checkout ke Branch3 Anda:

git checkout Branch3

Kemudian gabungkan Branch1:

git merge Branch1

Dan jika Anda ingin komit yang diperbarui dari Branch1 di Branch2, Anda mungkin sedang mencari git rebase

git checkout Branch2
git rebase Branch1

Ini akan memperbarui Branch2 Anda dengan pembaruan Branch1 terbaru.

gabra
sumber
1
(Saya ingin pembaruan Branch2 ke Branch1 ;-)) Branch2 memang melihat Branch1, tetapi tidak sebaliknya ketika saya melakukan git branch -a di kedua cabang. Karenanya saya tidak dapat melakukan rebase ke Branch2 di Branch1: git rebase Branch2 -> fatal: Membutuhkan satu revisi
Nemelis
Ketika saya melakukan rebase sebagai git rebase asal / Branch2 masih memberikan pesan kesalahan + asal hulu tidak valid / Branch2
Nemelis
1
@ Si8 ini hanya akan menambahkan komit dari Branch1 ke Branch3. Branch1 akan disimpan apa adanya.
gabra
1
Terima kasih jika saya saat ini berada di cabang Dev dan saya melakukan penggabungan Dev1, itu akan menggabungkan Dev1 ke Dev, apakah saya benar?
Si8
1
Iya. Saya sarankan untuk mencobanya. Jika ada yang rusak, Anda bisa kembali. Itulah tujuan dari VCS.
gabra