Git ile 'ustaya' nasıl geri dönülür?


135

İlk taahhüdümüzü yaptım; sonra bir şube oluşturdu (dal1 diyelim).

Bu şubede bir 'örnek' dizini oluşturdum ve taahhüt ettim. GitHub'da yeni şubemi ve eklediğim yeni 'örnek' dizini görüyorum.

Şimdi, ana ile nasıl tekrar 'senkronize edebilirim' merak ediyorum; ve böylece 'örnek' klasörü silinir (ana klasörde olmadığı için).

DÜZENLEME: find . -type d -empty -exec touch {}/.gitignore \; işi yaptı.

Yanıtlar:


239

Şubeyi kontrol etmeniz gerekiyor:

git checkout master

Daha fazla bilgi için Git hile sayfalarına bakın .

Düzenleme: Git'in boş dizinleri yönetmediğini lütfen unutmayın, bu nedenle bunları kendiniz yönetmeniz gerekir. Dizininiz boşsa, doğrudan kaldırmanız yeterlidir.


"Zaten yönetici üzerinde" ama benim 'örnek' dizinim hala orada. Master ile senkronize olmak istiyorum (bu nedenle, ana dalda olmadığı için bu klasöre sahip değilim)
Disco

# Şube yöneticisinde işlenecek hiçbir şey yok (çalışma dizini temiz)
Disco

@Disco: Bu sorunu daha önce yaşadım - eğer dizinde kesinlikle izlenmiyorsa, dizini yerel olarak kaldırabilir ve aldığınızda geri alırsınız git checkout branch1.
Platinum Azure

1
Mmmh çok kötü; bunun için bir seçenek yok mu? Kafamdaki çok dizini takip edemiyorum
Disco

6

Git Cheatsheet'e göre, önce şubeyi oluşturmanız gerekir

git branch [branchName]

ve sonra

git checkout [branchName]

2
soruyu tekrar kontrol edebileceğini düşünüyorum
eli

2

Şubeyi silmek için şubede yapılan değişiklikleri saklamanız veya şubede yaptığınız değişiklikleri yapmanız gerekir. Mevcut şubede herhangi bir değişiklik yaptıysanız aşağıdaki adımları izleyin.

  1. git stash veya git commit -m "XXX"
  2. git checkout master
  3. git branch -D merchantApi

Not: Yukarıdaki adımlar şubeyi yerel olarak silecektir.


1

Orada neler olup bittiğini anlamaya çalışıyorum. "Örnek" klasörünüzde bir şey var mı? Git boş klasörleri izlemez.

Dallara ayrılıp yeni şubenize geçtiyseniz, yeni bir klasör oluşturup boş bıraktıysanız ve sonra "git commit -a" yaptıysanız, commit'de o yeni klasörü alamazsınız.

Bu, izlenmediği anlamına gelir, bu da farklı bir şubeye bakmanızın onu kaldırmayacağı anlamına gelir.


git dizinimi başlattı (/ home / dev) sonra "commit -a" yaptım ve github'a ittim. Sonra yeni bir şube oluşturdum; İçinde bazı dosyalar bulunan bir 'örnek' dizini oluşturun ve şubeyi teslim edin. Şimdi yeni şubede oluşturduğum 'örnek' dizini olmadan ilk aşamaya (ana) geri dönmek istiyorum.
Disco

ayrıca ana dalda 'örnek' dizini yok (github'da gördüğüm gibi)
Disco

güncelleme: örnek dizinin içinde bir boş klasörüm vardı; bu yüzden bana hala dizini gösteriyor? Git kullanarak ondan nasıl kurtulurum
Disco

Yapmıyorsun. git bunu bilmiyor. Sadece silin. Ana birimin teslim alınması, dalda bulunan ancak ana dosyada olmayan tüm dosyaları çalışma dizininizden kaldırmalıdır.
Dan Ray

1

Seni ana şubeye götürecek.

git checkout master

Diğer dallara geçmek için yapın (köşeli parantezleri dikkate almayın, bu sadece vurgulama amaçlıdır)

git checkout [the name of the branch you want to switch to]

Yeni bir dal oluşturmak için -b'yi şu şekilde kullanın (köşeli parantezleri göz ardı edin, sadece vurgulama amaçlıdır)

git checkout -b [the name of the branch you want to create]

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.