SORU
20 Kasım 2013, ÇARŞAMBA


Gıt arasındaki farklar uzak budamak, budamak git, git getir --erik, vb nedir

Benim durumum da bu... birisi aynı repo çalışan yerel ve uzaktan onun repo bir şube silinmiş

Çoğu insan kim sordu bu tür bir sorun, Yığın Taşması, ya da diğer sitelerde sorun dalları hala gösteren kendi uzaktan izleme şube listesi "git branch -a" alt:

* master
  develop
  feature_blah
  remotes/origin/master
  remotes/origin/develop
  remotes/origin/feature_blah
  remotes/origin/random_branch_I_want_deleted

Ancak, BENİM durumumda, orada kalmamalı Dalı yerel

* master
  develop
  feature_blah
  random_branch_I_want_deleted
  remotes/origin/master
  remotes/origin/develop
  remotes/origin/feature_blah

Aşağıdakilerden herhangi birini yaptığımda, yerel olarak silinmiş olamaz:

git prune

F aşkına ben de denedim:

git remote prune origin
git fetch --prune

"Git remote show kökeni" göründüğü gibi . kontrol ettiğimde daha fazla yararlı bilgi:

* remote origin
Fetch URL: utilities:homeconnections_ui.git
Push  URL: utilities:homeconnections_ui.git
HEAD branch: master
Remote branches:
 master                        tracked
 develop                       tracked
 feature_blah                  tracked
 other123                      tracked
 other444                      tracked
 other999                      tracked
Local branches configured for 'git pull':
 develop                      merges with remote develop
 feature_blah                 merges with remote other999
 master                       merges with remote master
 random_branch_I_want_deleted merges with remote random_branch_I_want_deleted
Local refs configured for 'git push':
 develop         pushes to develop     (local out of date)
 master          pushes to master      (up to date)
 feature_blah    pushes to feature_blah(up to date)

Tek bölümde bu notu Local branches configured for 'git pull': başlıklı

Neden?

CEVAP
20 Kasım 2013, ÇARŞAMBA


Bu konuda hayal kırıklığına almak için seni suçlamıyorum. Bakmak için en iyi yol bu. Potansiyel olarak her uzak şube üç sürümü vardır:

  1. Uzak depo gerçek şube
  2. Bu şube anlık yerel (refs/remotes/... altında saklı)
  3. Ve yerel bir şube uzak şube izleme olabilir

Hadi git prune ile başlar. Bu kaldırırnesnelerartık, referanslar değil başvurulan. Senin durumunda, yerel bir şube var. Bu şube tarihi temsil eden bazı nesneler için başvuran bir hakem random_branch_I_want_deleted adında var demektir. Bu yüzden, tanımı gereği, git prune random_branch_I_want_deleted kaldırmayacaktır. Gerçekten Git içinde birikmiş ama işe yarar bir şey tarafından başvurulan değil bu verileri silmek için iyi bir yol. Genel olarak, herhangi bir dalları görünümünü etkilemez.

git remote prune origin git fetch --prune refs/remotes/... altında başvurular (uzaktan referans olarak bu bakın edeceğim) çalışır. Şubesi etkilemez. git remote sürümü eğer sadece belirli bir uzak altında uzak başvuruları kaldırmak için faydalı bir yoldur. Aksi takdirde, iki tam olarak aynı şeyi yapmak. Yani, Kısacası, git remote prune git fetch --prune Sayı 2 üzerinde çalışır.

Yerel bir şube kaldırmak için, git branch -d (veya herhangi bir yerde birleştirilmiş değilse -D) kullanmalısınız. FWIW, eğer uzak bir şube kaybolursa otomatik olarak yerel izleme dalları kaldırmak için git komutu yok.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DrePwn

    DrePwn

    22 Temmuz 2011
  • kev5124

    kev5124

    9 Kasım 2008
  • merumputdotcom

    merumputdotc

    24 ŞUBAT 2012