2012-10-26 18 views
5

Git veri havuzumda bir "iş" dalı ve bir "fikirler" dalı var.Bir dosyayı aktiften farklı bir dalda açabilir miyim?

Genellikle "iş" dalında marvelous_file.cpp üzerinde çalışıyorum, ancak bazen "fikirler" dalında bulunan marvelous_file.cpp dosyasını açmak istiyorum.

İki dosya arasındaki farkları görmek istemiyorum, bunun yerine "fikirler" dalından kod parçacıkları alın ve bunları kopyalayıp "iş" dalındaki dosyaya yapıştırın.

Bu mümkün mü? Değilse, dosyayı "fikirler" içine "iş" olarak, ancak farklı bir isimle kontrol edebilir miyim?

cevap

7

Bunu geride kalan git show kullanabilirsiniz:

git show ideas:marvelous_file.cpp 

Bu hak Terminal bunu gösterecektir. Eğer yerel olarak öncelikle değişiklik taahhüt ederse

git show ideas:marvelous_file.cpp > ideas.cpp 
+0

+1 StackOverflow her zaman öğreniyor. – Yamaneko

+0

+1. Yaşlandıkça böyle bir şey bulmaya çalışarak geçirdiğim yaşları –

+0

teşekkürler! Git'i seviyorum, ama bazen bazı görevlerin daha çabuk yapılması gerektiğini hissediyorum :) git checkout olarak komut güzel olurdu (belki bunu yapmak için bir takma ad ekleyebilirim?) – lucacerone

0

, bu adımlar sadece iyi çalışır:

git checkout ideas -- path/to/your/file.txt 

dosyayı çekecek Eğer örneğin bir dosya, bir dosya içine sadece boru bunu gibi o istiyorsanız İstediğiniz ve çalışma klasörünüzde bulunanı değiştirin. Tüm bir dizin veya tüm çalışma ağaç için bunu yapabilirsiniz:

git checkout ideas -- . 

dizinin tüm içeriğini çekecek tüm iş ağacını

git checkou ideas -- dir/with/cool/stuff 

çekecek.

Şimdi

git reset -p 

sistematik değişiklikleri atmak istemediğiniz edebilirsiniz. Bu, üzerinde çalışacağınız dosyalara zaten yerleştirildiyse, istediğiniz parçacıkları yakalamanız daha kolay olabilir.

İlgili konular