2013-05-16 15 views
7

RStudio'da sürüm kontrol sistemi olarak git kullanıyorum. Git'te kayıtlı bir R betiğinin birkaç farklı sürümü var. Diyelim ki, bir kod bloğunu sildim ama şimdi mevcut R betiğime kodu yeniden eklemek istediğime karar verdim. Kodun ddply işlevini içerdiğini biliyorum.Sürüm kontrol kodunun RSTudio'ya geri dönmesinin en hızlı yolu

Ben RStudio Terminal açın ve tipi: Ben elemek

2c975e1faee880545546646648f5be2b55f60fc757c29828f1f:reports/:data <- ddply(x, .(as.factor(y), summarise, mean(count)) 
2c975e1faee880545546646648f5be2b55f60fc757c29828f1f:reports/:data <- ddply(x, .(as.factor(y), summarise, mean(count)) 
2c975e1faee880545546646648f5be2b55f60fc757c29828f1f:reports/:data <- ddply(x, .(as.factor(y), summarise, mean(count)) 
2c975e1faee880545546646648f5be2b55f60fc757c29828f1f:reports/:data <- ddply(x, .(as.factor(y), summarise, mean(count)) 
2c975e1faee880545546646648f5be2b55f60fc757c29828f1f:reports/:data <- ddply(x, .(as.factor(y), summarise, mean(count)) 

:

git grep ddply $(git rev-list --all) 

Bu gibi kod satırları yüzlerce getirir Bu benim şimdiki iş akışıdır kod ve sonunda aradığım parçayı buldum. İlgili kod bitini Terminal'den kopyalayıp tekrar R komut dosyasına yapıştırıyorum. Bu yeniden kullanan eski sürüm kontrollü bir kod oldukça yavaş ve aksak yol gibi hissediyor ve ben Rhistory kullanarak daha iyi olabilir, şu anda 2c975e1faee880545546646648f5be2b55f60fc757c29828f1f:reports/:

: Kod deresindeki önceleri, böyle biraz silmeniz gerekir.

Sürüm denetimli kodun gitmeden ve RStudio'daki bir R betiğine geri dönmenin daha hızlı bir yolu var mı?

cevap

2

Git için RStudio arabirimi son derece basittir ve basit bir revert'un ötesindeki tarihlerle çalışmak için veya geçişin ötesinde şubelerle doğrudan bir yöntem sağlamaz. Bildiğiniz tüm ddply artık onu ararken o zaman senin yöntemini yeniden kullanmak istediğiniz işlevi var ki Eğer

gerçekten git log için yapabileceğiniz en iyi, ya da belki -G grep bayrağıdır. Başka bir şey biliyorsanız (örneğin: zaman periyodunun bir anlamı, dosya veya yol adı veya çalışmayı yaptığınız dal), o zaman taahhüt kütüğünü bazı kriterlerle filtreleyerek işleri daha basit hale getirebilirsiniz. Eğer sadece etkileşimli

git checkout -p

kullanarak yama parçalarını ödeme ve sadece etkileşimli işlemek kullandıysanız yaptığınız gibi kullanabilirsiniz sonra işlemeye bulduktan sonra

. Bu, parçaları sadece istediğiniz parçaya ayırmaya izin verir. Ya da, sadece kesmek ve yapıştır kullanarak kodu yeniden açmak istiyorsanız, o zaman git show & & kopyala/yapıştır.

Sadece RSTudio'nun arayüzüne kilitlenmediğinizi unutmayın. GUI'leri kullanabilmek için çok sayıda kullanışlı GUI vardır, bu da tarih boyunca çalışmayı ve açık kalıpları grafiğe dökmeyi sağlar ve hiçbiri Rstudio'yu etkilemez. Hepsi sadece kod üzerinde çalışır ve RStudio arayüzü gerektiği gibi güncellenir.

Git Interfaces

Terminalden, gitGUI & gitk komutları, TortoiseGit ve Git Uzantıları bizzat kısmi değilim.