Rollback
Yapay zeka görevleri sırasında çalışma alanı dosyalarını otomatik olarak sürümlendirin. Yapay zeka önerilerini güvenle keşfedin ve değişiklikleri deneyin, ve istenmeyen değişikliklerden kolayca geri dönün.
Rollback nedir
Rollback şunları yapmanı sağlar:
- Yapay zeka tarafından önerilen değişikliklerle güvenle deney yapmak
- İstenmeyen değişikliklerden kolayca kurtulmak
- Farklı uygulama yaklaşımlarını karşılaştırmak
- Çalışmayı kaybetmeden önceki proje durumlarına geri dönmek
Rollback nasıl çalışır
Bob, görev yürütme sırasında ana sürüm kontrol sisteminden bağımsız olarak dosyaların anlık görüntülerini alır. Bu anlık görüntüler, dosya değişikliklerinden önce otomatik olarak oluşturularak istenmeyen değişiklikleri her zaman geri alabilmeni sağlar.
Anlık görüntüler, görevler başladığında ve dosya değişikliklerinden önce kaydedilir.
Rollback ile çalışmak
Rollback, sohbet arayüzü aracılığıyla doğrudan iş akışına entegre edilmiştir ve doğrudan sohbet geçmişinde görünür. Anlık görüntüler, dosya değişikliklerinden önce oluşturularak tüm değişikliklerin kolayca geri alınmasına olanak tanır.
Her anlık görüntü, hem sohbet geçmişinde hem de rollback menüsünde her zaman kullanılabilen iki temel işlev sağlar:
Farklılıkları görüntüleme
Bir görev içinde hangi dosyaların değiştiğini görmek için:
- Bob dosyaları düzenledikten sonra Değiştirilmiş dosyalar görünümü daraltılmış olarak görünecektir.
- Genişletmek için tıklayabilirsin.
- Görünümdeki farklılıkları incele:
- Bir görevin tüm değiştirilen dosyalarını görmek için Tümünü göster'i kullan
- Değişiklikleri görmek için belirli bir dosyaya tıklayabilirsin
Anlık görüntüyü geri yükleme
Geri yükleme seçenekleri, değişiklik algılanıp algılanmadığından bağımsız olarak rollback düğmelerinde ve iletişim kutularında her zaman görünürdür. Bu, her zaman herhangi bir duruma geri dönebilmeni sağlar.
Bir projeyi önceki bir duruma geri yüklemek için:
- Herhangi bir kullanıcı mesajının üzerine gelin ve değiştirilen dosyaları o mesajdan önceki duruma geri yükleyecek olan rollback düğmesini kullan.
- Değiştirilmiş dosyalar görünümündeki tek tek dosyalarda rollback düğmesine tıkla. Bu, Bob'a bir dosyayı geri aldığını bildirir.
Sınırlamalar
- Kapsam: Rollback yalnızca aktif Bob görevleri sırasında yapılan değişiklikleri yakalar.
- Harici değişiklikler: Görevler dışında yapılan değişiklikler (manuel düzenlemeler, diğer araçlar) dahil edilmez.
- Büyük dosyalar: Çok büyük ikili dosyalar performansı etkileyebilir.
- Kaydedilmemiş çalışma: Geri yükleme, çalışma alanındaki kaydedilmemiş değişikliklerin üzerine yazar.
- Zamanlama: Anlık görüntüler değişiklikler uygulanmadan önce oluşturularak tüm değişiklikler için bir güvenlik ağı sağlar.
- Bellek kullanımı: Anlık görüntüler zamanla birikir ve özellikle büyük projeler veya uzun süre çalışan görevler için önemli miktarda bellek tüketebilir. Anlık görüntü içeren çok sayıda eski görevin varsa, belleği boşaltmak için bunları periyodik olarak temizlemeyi düşün. Bunu, ilgili anlık görüntüleri kaldıran eski görev konuşmalarını silerek yapabilirsin.
Teknik uygulama
Rollback mimarisi
Rollback sistemi şunlardan oluşur:
- Rollback servisi: Aşağıdakiler aracılığıyla dosya işlemlerini ve durum yönetimini gerçekleştirir:
- Anlık görüntü oluşturma ve depolama
- Fark hesaplama
- Durum geri yükleme
- UI bileşenleri: Rollback ile etkileşimi sağlayan, sohbette görüntülenen arayüz öğeleri.
Geri yükleme süreci
Geri yükleme çalıştırıldığında Bob:
- Belirli bir görevdeki belirtilen zamana sıfırlama işlemini tamamlar.
- Dahili rollback takip durumunu günceller.
Depolama türü
Rollback görev kapsamlıdır; bu, her anlık görüntünün tek bir göreve özgü olduğu anlamına gelir.
Fark hesaplama
Rollback karşılaştırması, yapılandırılmış dosya farklarını üretmek için Git'in temel fark özelliklerini kullanır:
- Değiştirilen dosyalar, satır satır değişiklikleri gösterir.
- İkili dosyalar düzgün şekilde algılanır ve işlenir.
- Yeniden adlandırma algılama sınırlı olabilir; farklar, anlık görüntüler arasındaki dosya içeriği değişikliklerine odaklanır.
- Dosya oluşturma ve silme işlemleri açıkça tanımlanır.
Dosya dışlama ve yoksayma desenleri
Rollback sistemi yalnızca ilgili dosyaları izlemek için akıllı dosya dışlama kullanır.
Yerleşik dışlamalar
Sistemin otomatik olarak yoksayan yerleşik dışlama desenleri vardır:
- Derleme artefaktları ve bağımlılık dizinleri (
node_modules/,dist/,build/). - Medya dosyaları ve ikili varlıklar (resimler, videolar, ses).
- Önbellek ve geçici dosyalar (
.cache/,.tmp/,.bak). - Hassas bilgiler içeren yapılandırma dosyaları (
.env). - Büyük veri dosyaları (arşivler, yürütülebilir dosyalar, ikililer).
- Veritabanı dosyaları ve günlükler.
.gitignore desteği
Rollback sistemi, çalışma alanındaki .gitignore desenlerine saygı gösterir:
.gitignoretarafından dışlanan dosyalar anlık görüntü oluşturmayı tetiklemez.- Dışlanan dosyalar rollback farklarında görünmez.
- Dosya değişikliklerini hazırlarken standart Git yoksayma kuralları geçerlidir.
.bobignore davranışı
.bobignore dosyası (yapay zekanın dosyalara erişimini kontrol eder), rollback takibinden bağımsızdır:
.bobignoretarafından dışlanan ancak.gitignoretarafından dışlanmayan dosyalar yine de rollback tarafından yakalanır.- Yapay zekanın erişemediği dosyalardaki değişiklikler yine de rollback aracılığıyla geri yüklenebilir.
Bu ayrım kasıtlıdır. .bobignore, yapay zekanın hangi dosyalara erişebileceğini sınırlar; sürüm geçmişi için hangi dosyaların izlenmesi gerektiğini değil.