Saya memiliki master dan cabang dev di repositori saya. Saya ingin menghapus cabang master dari komputer saya sehingga saya tidak sengaja melakukan itu (itu terjadi ..).
Ada pertanyaan di sini tentang cara menghapus cabang secara lokal dan jarak jauh, tetapi saya belum dapat mengetahui cara hanya menghapus cabang secara lokal.
Satu jawaban mengatakan untuk menggunakan ini:
git branch -d local_branch_name
Tapi saya mencobanya dan cabang masih muncul di aplikasi GitHub.
Deleted branch master (was e8a8e29).
Jawaban:
Saya pikir (berdasarkan komentar Anda) bahwa saya mengerti apa yang ingin Anda lakukan: Anda ingin salinan lokal repositori Anda tidak memiliki cabang lokal biasa
master
, atau cabang pelacak jarak jauhorigin/master
, meskipun repositori yang Anda kloning — github satu —Memiliki cabang lokalmaster
yang tidak Anda miliki ingin Anda hapus dari versi github.Anda dapat melakukan ini dengan menghapus cabang pelacak jarak jauh secara lokal, tetapi ia akan kembali setiap kali Anda meminta git Anda untuk menyinkronkan repositori lokal Anda dengan repositori jarak jauh, karena git Anda bertanya pada git mereka "cabang apa yang Anda miliki" dan itu mengatakan "Aku punya
master
" sehingga git Anda (re) menciptakanorigin/master
untuk Anda, sehingga repositori Anda memiliki apa yang mereka miliki.Untuk menghapus cabang pelacakan jarak jauh Anda secara lokal menggunakan antarmuka baris perintah:
tetapi sekali lagi, itu hanya akan kembali pada sinkronisasi ulang. Hal ini mungkin untuk mengalahkan ini (menggunakan serta
remote.origin.fetch
manipulasi), tetapi Anda mungkin lebih baik hanya yang cukup untuk tidak membuat atau memodifikasi disiplinmaster
secara lokal.sumber
Hapus paksa Cabang Lokal:
[ CATATAN ]:
"-D"
adalah opsi hapus paksa.sumber
Sejauh yang saya mengerti masalah aslinya, Anda menambahkan kesalahan pada master lokal dan belum mendorong perubahan itu. Sekarang Anda ingin membatalkan perubahan Anda dan berharap untuk menghapus perubahan lokal Anda dan membuat cabang master baru dari yang jauh.
Anda bisa mereset perubahan dan memuat ulang master dari server jauh:
sumber
Aplikasi Github untuk Windows menunjukkan semua cabang repositori yang jauh. Jika Anda telah menghapus cabang secara lokal dengan
$ git branch -d [branch_name]
, cabang jarak jauh masih ada di repositori Github Anda dan akan muncul terlepas dari aplikasi Windows Github.Jika Anda ingin menghapus cabang sepenuhnya (juga dari jarak jauh), gunakan perintah di atas bersama dengan
$ git push origin :[name_of_your_new_branch]
. Peringatan: perintah ini menghapus semua cabang yang ada dan dapat menyebabkan hilangnya kode. Hati-hati, saya tidak berpikir ini adalah apa yang Anda coba lakukan.Namun setiap kali Anda menghapus perubahan cabang lokal, cabang jauh akan tetap muncul di aplikasi. Jika Anda tidak ingin terus melakukan perubahan, abaikan saja dan jangan klik, jika tidak, Anda dapat mengkloning repositori. Jika Anda memiliki pertanyaan lagi, beri tahu saya.
sumber
Anda perlu beralih ke cabang lain dan mencoba yang sama.
cabang git -d
sumber
Dengan tag Anda, saya menganggap Anda menggunakan Github. Mengapa tidak membuat beberapa aturan perlindungan cabang untuk cabang master Anda? Dengan begitu bahkan jika Anda mencoba untuk mendorong untuk menguasai, itu akan menolaknya.
Saya juga merekomendasikan melakukan hal yang sama untuk cabang dev Anda.
sumber