Gelişmiş Git Eğitimi

Gelişmiş Git Eğitimi

Projenizi uzak bir havuz aracılığıyla dağıtmak, her bir parçasını esnek bir şekilde yönetmenize olanak tanır. Hata düzeltmeleri, özellik güncellemeleri, dosya silme, ekip çalışması, açık kaynak katkıları, kod dağıtımı ve daha fazlası, güçlü bir Git bilgisi ile artık parmaklarınızın ucunda.





Demek Git'i kullanıyorsun ama daha fazlasını mı öğrenmek istiyorsun? İşte proje sürümünüzün kontrolünü çok kolaylaştıracak bazı daha gelişmiş Git ipuçları.





Git Şubesi

Git dalı, doğrudan ana dala göndermenizi engeller. Bir projeyi geliştiricilerden oluşan bir ekiple yönetiyorsanız bu yararlıdır. İstediğiniz kadar Git dalı oluşturabilir ve bunları daha sonra ana dalla birleştirebilirsiniz.





Git Şubesi Oluşturun

Git dalı oluşturmak için şunu kullanın:

git branch branch_name

Git Şubesine Geç

Kullanmak ödeme Git şubesine geçmek için:



git checkout branch_name

Bir şubeye geçiş yaptıktan sonra, değişikliklerinizi kullanarak aşamalandırabilirsiniz. git add --all . Ardından bunları kullanarak taahhüt edin git commit -m 'taahhüt adı' emretmek.

Bir Şubeyi Master İle Karşılaştırın

Kullan git fark emretmek:





git diff master..branch_name

Belirli dosyaları karşılaştırmak için:

git diff master..testb -- main.html

İki dalı karşılaştırmak, bir dalı ana dal ile karşılaştırmanıza benzer:





git diff branch1..branch2

İki dal arasındaki belirli bir dosyadaki farkları görmek için:

git diff branch1..branch2 -- main.html

Değişiklikleri Uzak Şubeye İletme

Başka bir geliştiricinin yerel şubenizdeki bir dosyada yaptığınız değişiklikleri canlı yayınlamadan önce incelemesini isteyebilirsiniz. Bakabilmeleri için yerel Git şubenizi uzak bir kopyaya taşımak iyi bir uygulamadır.

Daha önce adında bir yerel dal oluşturduğunuzu varsayalım. değişiklikler . O yerel şubeye geçebilir, istediğiniz tüm dosyaları ayarlayabilir, ardından bunları sahneleyebilir ve o şubeye aktarabilirsiniz.

Daha sonra bu değişiklikleri şubenin uzak sürümüne aktarabilirsiniz:

git push origin changes

Çekme İsteği Kullanarak Uzak Şubeyi Master İle Birleştirme

Yani başka bir programcı uzak daldaki değişiklikleri denetledi ( değişiklikler ). Ama onu ana dalla birleştirmek ve canlı yayınlamak istiyorsunuz.

Uzak şubenizin yerel Git şubenizin adını devraldığını unutmayın ( değişiklikler ). Değişiklikleri nasıl birleştireceğiniz aşağıda açıklanmıştır:

Ana şubeye geçin:

git checkout master

Dalın orijinini veya HEAD'ini çekin ( değişiklikler ) ana dalla birleştirmek için:

git pull origin changes

Bu birleştirmeyi canlı olarak ana şubeye aktarın:

git push origin master

Bunun yerine Git Birleştirme'yi kullanın

Bir dalı kullanarak master ile birleştirmek için Git emretmek:

Ana şubeye geçiş yapın:

git checkout master

Şube ile birleştir ( değişiklikler ):

git merge changes

Ardından birleştirmeyi ana şubeye canlı olarak itin:

telefon ip adresimi nasıl bulabilirim
git push origin master

değiştirdiğinizden emin olun değişiklikler şubenizin adı ile.

Bir birleştirme başarılı olduğunda, şubeyi yerel olarak ve uzaktan sil artık ihtiyacınız yoksa:

İlgili: Git'te Bir Şube Nasıl Yeniden Adlandırılır

Git Rebase

Güncel olmayan taahhütlere sahip birden fazla şubeniz varsa, yeniden temellendirebilir veya yeniden odaklanabilirsiniz. kafa/başvurular devralmak için bu dalların kafa/başvurular güncellenmiş bir tanesinden.

Bu nedenle, bazı dalları mevcut olanın tabanıyla güncellemeniz gerektiğinde, yeniden temellendirme kullanışlı olur.

Yeniden temellendirme, özellikle bir ekiple çalışıyorsanız, tüm iş akışını bozabileceğinden sık yapılan bir eylem olmamalıdır. Ancak yalnız çalışıyorsanız ve iş akışınıza ve dallarınıza aşinaysanız, nerede ve nasıl kullanılacağını biliyorsanız, yeniden temellendirme hasara yol açmamalıdır.

Örneğin, iki şubeniz olduğunu varsayalım; şube1 ve şube2. Şimdi, bir süredir şube1'de herhangi bir değişiklik yapmadınız. Ancak, yakın zamanda dahil olmak üzere sürekli olarak şube2'de değişiklik yapıyorsunuz.

Böylece dal1'i akışla birlikte taşımaya karar verdiniz. Bu nedenle, şube1'i şube2'ye yeniden temellendirmek, şube1'e önceki taahhütlerini görmezden gelmesini ve şube2'ye yapılan son taahhüdü devralmasını söylediğiniz anlamına gelir.

Bunu şu şekilde yapabilirsiniz:

Terk edilmiş şubeye geç (dal1):

git checkout branch1

Ardından şube1'i güncellenmiş şube2'ye yeniden temellendirin:

git rebase branch2

Git Squash

Git squash, birden çok taahhüdü bir tanede birleştirmenize izin verir. Koşarken yardımcı olur git taahhüt tek bir güncellemede birçok kez. Pratik bir örnek, tek bir özellik için her bir hata düzeltme veya kod yeniden düzenleyicisinin ayrı bir işleme sahip olmasıdır.

Ancak HEAD taahhüdünü beraberindekilerle birlikte zorlamak istemeyebilirsiniz, çünkü hepsi aynı amaca sahiptir. Tavsiye edilen bir yaklaşım, taahhütleri takip ederken karışıklığı önlemek için onları bir araya getirmektir.

Taahhütleri ezmenin en iyi yolu, etkileşimli yeniden yapılandırma modudur. Bunu daha iyi anlamak için aşağıdaki örneğe bir göz atın.

Bu örnekte, beş hata düzeltmeniz olduğunu varsayalım. Ve her biri için bir taahhüt var. İşte bu beş taahhüdü bir araya nasıl getirebileceğiniz:

Çalıştırmak git reflog taahhütlerinizin karma kodunu görüntülemek için:

git reflog

İşte bu durumda sonuç:

Şimdi amacınız, aşağıdakilerden başlayarak son beş taahhüdü ezmek. ilk düzeltme kadar beşinci düzeltme .

Bunu yapmak için, hemen aşağıdaki taahhüdün karma kodunu kopyalayın. ilk düzeltme ( 0a83962 ). sonra basın Q bırakmak yeniden kayıt .

Şimdi koş git rebase --interaktif bu hash üzerinde.

git rebase --interactive 0a83962

Git daha sonra şuna benzeyen etkileşimli bir yeniden temel dosyası açar:

Taahhütleri ezmek için, hariç ilk düzeltme , yer değiştirmek seçmek ile birlikte s diğer taahhütlerin her biri için:

Bu dosyayı kaydedin ve kapatın.

Daha sonra, ezilmiş taahhüdü yeniden adlandırmanız için başka bir dosya açılır:

pil simgesi görev çubuğunda değil Windows 10

Bunları temizleyin ve ezilmiş taahhüt için tercih edilen bir ad yazın:

O dosyayı kaydedin. Ardından kapatın ve terminalinizde bir başarı mesajı almalısınız.

Not: İnteraktif dosya terminal içinde açılabilir. Ancak Windows kullanıyorsanız, ezmeyi kolaylaştırmak için terminalinizi küresel olarak dosyaları favori metin düzenleyicinize açmaya zorlamak isteyebilirsiniz.

Bunu yapmak için komut satırınızı açın ve çalıştırın:

git config --global core.editor ''path to choice text editor' -n -w'

Git Çatal ve Git Klonu

Git'te çatallama ve klonlama iki farklı terimdir. Deponuzu zaten yanınızda olduğu için çatallayamazsınız. Bununla birlikte, başkalarının deposunu çatallayabilir ve daha sonra klonlayabilirsiniz.

Bir depoyu çatallamak, birinin deposunun bir kopyasını aldığınız ve onu kendinize ait yaptığınız anlamına gelir. Bu havuzun bir kopyasını aldıktan sonra, yerel değişiklikler için git depolarınızdan herhangi birinde yaptığınız gibi onu klonlayabilirsiniz.

İşte nasıl yapılır uzak bir depoyu klonla GitHub'da ve yerel dizininize bir indirme işlemi başlatın:

git clone https://github.com/username/repository_name.git/

Bir Dosyayı Varsayılan Durumuna Geri Yükleme

Son işlemden sonra bir dosyadaki değişiklikleri silmek isterseniz, git geri yükleme emretmek:

git restore filename

Taahhüdü Değiştir

Bazı dosyaları hazırlarken değişiklik yapmayı unutursanız, önceki bir işleme geri dönebilirsiniz.

Unuttuğunuz dosyada değişiklik yapın. Sonra kullan git değiştir bir taahhüdü gözden geçirmek için:

git add file_forgotten
git commit --amend

Aşamasız Dosyalar

Bir taahhüt için hazırladığınız belirli dosyaları kullanarak kaldırabilirsiniz. git rm emretmek:

git rm --cached filename

Aynı anda birkaç dosyayı da kaldırabilirsiniz:

git rm --cached file1 file2 file3 file4

Muaf tuttuğunuz herhangi bir dosyaya ilgili dosya uzantısını eklemeyi unutmayın. Örneğin, düz bir metin dosyası olmalıdır. dosyaadı.txt .

İlgili: Git Nasıl Temizlenir ve İzlenmeyen Dosyalar Nasıl Kaldırılır

Git Sıfırla

kullanma git sıfırlama bir taahhüt için hazırladığınız tüm dosyaları bir kerede bırakmak istiyorsanız yararlıdır:

git reset

Git reset HEAD, ancak, bir dalın HEAD'ini çalışma ağacınızdaki belirli bir işleme işaret eder. Örneğin, mevcut taahhüdünüzü henüz zorlamadıysanız, yakın zamanda aktarılan taahhüde geri dönebilirsiniz:

git reset --soft HEAD~1

Yer değiştirmek --yumuşak ile birlikte --zor mevcut taahhüdü zaten ittiyseniz:

git reset --hard HEAD~1

Git Revert

aksine Sıfırla emretmek, git revert taahhüt geçmişinizin bütünlüğünü korur. Hatalar veya hatalar nedeniyle bir taahhüdü değiştirmek istiyorsanız kullanışlıdır.

Hedef taahhüdünden vazgeçmez veya yeni bir tane yapmaz. Bunun yerine, böyle bir taahhüdü silmeden veya yeniden adlandırmadan yaptığınız son değişikliklere geri döner. Taahhütlerinizi daha temiz tutmanın harika bir yolu, ayrıca her zaman sıfırlamaktan daha güvenli.

Bir taahhüde geri dönmek için:

git revert HEAD~1

Nereye BAŞ~1 çalışan ağacınızdaki belirli bir taahhüdü işaret eder.

İzlenen Dosyayı veya Dizini Silme

Kullanabilirsiniz git rm -f çalışma ağacınızdaki izlenen dosyaları silmek için. Ancak Git'in izlenmeyen dosyaları önbelleğe almadığı için kaldıramayacağını unutmayın.

Aşamalı bir dosyayı silmek için:

git rm -f filename

Aşamalı bir klasörü kaldırmak için:

git rm -r -f foldername

Git Günlüğü

Git'te taahhüt günlüklerinizi ve geçmişinizi görüntülemek için:

git log

Faaliyetleri belirli bir dalda günlüğe kaydetmek için:

git log branch_name

İlgili: git log ile bir projenin geçmişi nasıl incelenir

Bazen terk edilmiş bir işleme geri dönmek isteyebilirsiniz. Bu nedenle, ilgili olanlar da dahil olmak üzere terk edilmiş taahhütleri görüntülemek için:

git reflog

Belirli bir dal için başvuru günlüklerini görüntülemek için:

git reflog branch_name

Git ile Proje Sürümlerinizi Bir Profesyonel Gibi Yönetin

Birçok avantaj sunan Git ile, ana şubenizdeki şirket içi dosya ve klasörleri soymadan proje sürümlerinizi uzaktan yönetebilirsiniz. Ek olarak, bir ekiple projeleri kolayca yürütmenizi sağlar.

Gördüğünüz gibi Git'in keşfedebileceğiniz birçok özelliği var. Ancak bu özellikleri bilerek kullanmaya dikkat edin. Aksi takdirde, bir şeyleri kırabilirsiniz. Bununla birlikte, yine de bir demo uzak depoyu döndürebilir ve bu özelliklerle oynayabilirsiniz.

Paylaş Paylaş Cıvıldamak E-posta Git ile Bir Programcı Gibi Dosya Sürümünüzü Yönetin

Programcılar, dosya sürümü kontrol sorunlarını çözmek için sürüm kontrol sistemleri (VCS) oluşturdular. Bugünün en iyi sistemi Git'i kullanarak sürüm kontrolünün temellerine bakalım.

Sonrakini Oku
İlgili konular
  • Programlama
  • Web Geliştirme
  • GitHub
  • Kodlama Eğitimleri
Yazar hakkında Idisou Omisola(94 Makale Yayımlandı)

Idowu akıllı teknoloji ve üretkenlik konusunda tutkulu. Boş zamanlarında kodlamayla uğraşıyor ve canı sıkılınca satranç tahtasına geçiyor ama arada sırada rutinden kopmayı da seviyor. İnsanlara modern teknolojinin yolunu gösterme tutkusu onu daha fazla yazmaya motive ediyor.

Idowu Omisola'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın