2015-09-08 37 views
5

3 commits` önde kökeni/ustanın `Hayır yerel changes` ama git durumu` Your branch is ahead of 'origin/master' by 3 commits.git zulası bir <code>git commit -am</code><code>git stash</code> ve hemen ardından ve ben <br> olsun ben <code>git status</code> çalıştırdığınızda mesaj <br> <code>No local changes to save</code></p> <p>var mı

Bu doğru mu?

Bazı şeyler üzerinde çalışıyordum ve bazı taahhütler yaptım ancak değişiklikleri zorlamadım. Şimdi onları 'saklamak' ve temiz bir sürüme geri dönmek istiyorum (en son pushed değişiklikler - bu konuya nasıl başvuracağımı bilmiyorum)

Henüz elimden gelmediğim ve geri almadığım işleri nasıl yaparım? en son itilen ana dalıma mı? Doğru olmadığını anlamak

+1

Doğru, sen ağacın peşinden koşuyorsun, geride değil. Ne demek "İşimi nasıl saklarım ve efendiye giderim" derken? "Usta" dalında değil misin? 'Git branch' çıkışını göster – zaratustra

+3

Ne soruyorsunuz? Tam olarak ne yapmaya çalışıyorsun? – Jubobs

+1

Yaptığın şey şaşkın dalları ve sakatlar olduğunu düşünüyorum. Yerel değişikliklerinizi saklanmak istiyorsunuz. Çalışmanızı kaydederken orijin/master'ın bulunduğu yere geri dönmek isterseniz, checkout origin/master 'seçeneğini kaldırabilirsiniz. Ayrıca, "git push origin master" ile master'ınızı çalıştırabilir veya işinizi yeni bir şubeye kaydedebilir, daha sonra orijini/master'ı kontrol edebilirsiniz. – Andy

cevap

3

Herkese yardım ettiğiniz için teşekkürler. Yaptığım şey, tüm taahhütlerimi sildi, ancak değiştirilen tüm dosyalarımı bıraktı. Daha sonra, henüz işlenmedikleri için değişiklikleri saklayabildim. Yerel dosyalarımı yükledikten sonra orijinale/master'a otomatik olarak sıfırlar.

7

şunlar gereklidir:

1) Yerel değişiklikleri kaydedin.

git add -A 
git stash 

2) Yedekleme kaydedilmesini

git branch my_master_backup 

3) kökeni/usta geri HEAD sıfırlayın

git reset --hard origin/master 

4) Eğer "temiz etmek isteyen bazı iş yap "

5) İşlemlerinizle yaptığınız değişiklikleri geri yükleyin. Varsa çakışmaları düzeltin. 6) Yedekleme dalını bırakın. 6) Yedekleme dalını bırakın. Silemezseniz, yedekleme şubenizi ve ana kaynağını tam olarak birleştirmediğiniz anlamına gelir. 1. adımdaki

git branch -d my_master_backup 

6) Restore yerel değişiklikleri:

git stash pop 

PS: Bir yedekleme dalını oluşturmaktan kaçının ve reflog kullanabilirsiniz. İşlemlerinizi geri yüklemek istediğinizde, git merge [email protected]{X}'u çalıştırmanız gerekir; burada X, reflog'dan istenen işlemin numarasıdır. ne yapmak istediğiniz geri uzak deponun ana dal gidin işlemek ama bu yapmış sonra yaptığınız değişiklikleri saklamak olduğu gibi soru ve yorumları itibaren

+0

OP'nin aslında saklanacak bir şey olduğuna inanmıyorum. Ve işini korumak istiyor, bu yüzden zor bir sıfırlama ona istediğini vermiyordu. –

+0

OP'nin yerel (uncommited) değişikliklerini saklamasını ve yeniden boyutlandırmadan önce yedek bir şube yapmasını önerdim. Yani bu değişiklikler/taahhütler her zaman onlar için mevcut olacaktır. – zaratustra

1

, bu sesler.

Yapabilecekleriniz, uzaktan kumandanın (origin) olarak adlandırılan şubenin (master ile çalıştığınızı varsayarsak) yeni bir yerel şube oluşturmasıdır. Aynı olacaktır

$ git checkout -b original-master origin/master 

Bu original-master denilen yeni bir şube oluşturma (ve origin/master için gösterdiği yere geri çalışma dizini getirerek, bu şubeyi kontrol eder) uzak origin 'ın master dalı olarak işlemek.Bu noktada

, 3 origin/master dan master korunacaktır (yerel) zorunda taahhüt, ancak origin/master bir ebeveyn ile farklı bir gelişmişlik dalı başlayabilir (yeni bir şube alarak original-master olarak adlandırılır).

+0

Biraz kafa karıştırıcı buluyorum çünkü uzak master şimdi iki farklı yerel dalı ('master' ve' orijinal-master') izliyor – zaratustra

+0

@zaratustra OP, değişikliklerini yerel 'master' dalında korumaya çalışıyor. Bunların "öksüz" olmasını sağlamadan, bunun etrafında hiçbir şekilde göremiyorum. Adlandırmaya gelince, OP eğer seçtiği takdirde dalların isimlerini değiştirebilir. –

+0

İyi fikir, hangi çözümün daha iyi olduğunu görelim :) – zaratustra

İlgili konular