Alıştırma - İşlem hattında değişiklik gönderme

Tamamlandı

Bu ünitede, Space Game web sitesinde GitHub'a küçük bir değişiklik göndererek kod iş akışının tamamını uygulayacaksınız.

Mara'ya, web sitesinin giriş sayfası olan Index.cshtml'de bazı metinleri değiştirme görevi verildi. Bu ünitede siz de takip edersiniz.

Şimdi görevi tamamlamak için izleyebileceğiniz adımları kısaca gözden geçirelim:

  • Yerel deponuzu GitHub'daki en son main dal ile eşitleme
  • Değişikliklerinizi tutmak için dal oluşturma
  • İhtiyacınız olan kod değişikliklerini yapın ve bunları yerel olarak doğrulayın
  • Dalınızı GitHub'a gönderme
  • GitHub'da daldaki main son değişiklikleri yerel çalışma dalınızla birleştirin ve değişikliklerinizin çalışmaya devam ettiğini doğrulayın
  • Kalan değişiklikleri gönderin, Azure Pipelines'ın uygulamayı derlemesini izleyin ve çekme isteğinizi gönderin

En son ana dalı getirme

Önceki ünitede bir çekme isteği oluşturdunuz ve dalınızı GitHub'daki dalla main birleştirmişsinizcode-workflow. Şimdi değişiklikleri main yerel dalınıza geri çekmeniz gerekir.

komut, git pull uzak depodan en son kodu getirir ve yerel deponuzla birleştirir. Bu şekilde en son kod tabanıyla çalıştığınızı bilirsiniz.

  1. Terminalinizde komutunu çalıştırarak git checkout main dala main geçin:

    git checkout main
    
  2. En son değişiklikleri aşağı çekmek için şu git pull komutu çalıştırın:

    git pull origin main
    

    Değiştirilen dosyaların listesini görüntüleyebilirsiniz. İsteğe bağlı bir adım olarak azure-pipelines.yml dosyasını açarak tam derleme yapılandırmanızı içerdiğini doğrulayabilirsiniz.

    Ekip üyelerinin işbirliği yaptığı bir Git deposunun (GitHub'da olduğu gibi) uzak olarak adlandırıldığını hatırlayın. Burada kaynak, GitHub'daki deponuzu belirtir.

    Daha sonra başlangıç kodunu Yukarı akış olarak bilinen Microsoft GitHub deposundan getireceksiniz.

Web uygulamasını derleme ve çalıştırma

Değişikliklerinizi başlatmak için çalışan bir kopyaya sahip olduğunuzdan emin olmak için web uygulamasını yerel olarak derleyin ve çalıştırın.

  1. Visual Studio Code'da terminal penceresine gidin ve uygulamayı oluşturmak için aşağıdaki dotnet build komutu çalıştırın:

    dotnet build --configuration Release
    
  2. Uygulamayı çalıştırmak için aşağıdaki dotnet run komutu çalıştırın:

    dotnet run --configuration Release --no-build --project Tailspin.SpaceGame.Web
    

    Bahşiş

    Tarayıcınızda gizlilik veya sertifika hatasıyla ilgili bir hata görürseniz, çalışan uygulamayı durdurmak için terminalinizde Ctrl+C tuşlarını seçin.

    Ardından komutunu çalıştırın dotnet dev-certs https --trust ve istendiğinde Evet'i seçin veya daha fazla bilgi için bu blog gönderisini inceleyin.

    Bilgisayarınız yerel SSL sertifikanıza güvendikten sonra komutunu ikinci kez çalıştırın dotnet run ve çalışan uygulamayı görmek için http://localhost:5000 yeni bir tarayıcı sekmesinden adresine gidin.

Uygulamanın çalıştığını doğrulayın

Geliştirme modunda, Space Game web sitesi 5000 numaralı bağlantı noktasında çalışacak şekilde yapılandırılmıştır.

Yeni bir tarayıcı sekmesinde, çalışan uygulamayı görmek için adresine gidin http://localhost:5000 .

Şunu görmeniz gerekir:

Screenshot of the Space Game website running in a web browser.

Puan tablosu da dahil olmak üzere sayfayla etkileşim kurabilirsiniz. Bir oyuncunun adını seçtiğinizde, o oyuncuyla ilgili ayrıntıları görürsünüz.

İşiniz bittiğinde terminal penceresine dönün ve çalışan uygulamayı durdurmak için Ctrl+C tuşlarına basın.

Özellik dalı oluşturma

Bu bölümde, başka kimseyi etkilemeden dosyalar üzerinde çalışabilmek için bir Git dalı oluşturacaksınız. Siz bunları uzak depoya göndermeden kimse bu dosyalar üzerinde çalıştığınızı bile bilmeyecek.

Dal oluşturmak için komutunu kullanır git checkout ve önceki bölümde yaptığınız gibi dalınıza bir ad verirsiniz.

Bir dal oluşturmadan önce adlandırma kuralına bağlı kalmak iyi bir fikirdir. Örneğin, dalınız yeni bir özellik üzerinde çalışmaya yönelikse kullanabilirsiniz feature/<branch-name>. Hata düzeltmesi için kullanabilirsiniz bugfix/<bug-number>. Bu örnekte dalınızın adı olacaktır feature/home-page-text.

Terminalinizde aşağıdaki git checkout komutu çalıştırın:

git checkout -B feature/home-page-text

daha önce olduğu gibi, feature/home-page-text dalı main temel alır.

Değişiklikleri yapın ve yerel olarak test edin

  1. Visual Studio Code'da Tailspin.SpaceGame.Web/Views/Home dizininde Index.cshtml dosyasını açın.

  2. Sayfanın üst kısmında şu metni arayın:

    <p>An example site for learning</p>
    

    Bahşiş

    Visual Studio Code, dosyalardaki metinleri aramanın kolay bir yolunu da sağlar. Arama bölmesine erişmek için yan bölmedeki büyüteç simgesini seçin.

  3. Önceki adımda yer alan metni aşağıdaki "yanlış yazılmış" metinle değiştirin ve dosyayı kaydedin:

    <p>Welcome to the oficial Space Game site!</p>
    

    "oficial" sözcüğünün kasıtlı olarak yanlış yazıldığını unutmayın. Bu hatayı bu modülün ilerleyen bölümlerinde ele alacağız.

  4. Terminalinizde aşağıdaki dotnet build komutu çalıştırarak uygulamayı derleyin:

    dotnet build --configuration Release
    
  5. Uygulamayı çalıştırmak için aşağıdaki dotnet run komutu çalıştırın:

    dotnet run --configuration Release --no-build --project Tailspin.SpaceGame.Web
    
  6. Yeni bir tarayıcı sekmesinde, çalışan uygulamayı görmek için adresine gidin http://localhost:5000 .

    Giriş sayfasının güncelleştirilmiş metni içerdiğini görebilirsiniz.

    Screenshot of the Space Game website with updated text. The text contains a spelling error.

    İşiniz bittiğinde terminal penceresine dönün ve çalışan uygulamayı durdurmak için Ctrl+C tuşlarına basın.

Dalınızı işleme ve gönderme

Burada değişikliklerinizi Index.cshtml dosyasına hazırlar, değişikliği dalınıza işler ve dalınızı GitHub'a iletirsiniz.

  1. Dalınız üzerinde kaydedilmemiş değişiklikler olup olmadığını denetlemek için komutunu çalıştırın git status :

    git status
    

    Index.cshtml dosyasının değiştirildiğini göreceksiniz. Önceki gibi, sonraki adım Git'in dosyayı hazırlama olarak adlandırılan bu dosyayı izlediğinden emin olmaktır.

  2. Index.cshtml dosyasını hazırlamak için aşağıdaki git add komutu çalıştırın:

    git add Tailspin.SpaceGame.Web/Views/Home/Index.cshtml
    
  3. git commit Aşağıdaki komutu çalıştırarak hazırlanmış dosyanızı dala işleyinfeature/home-page-text:

    git commit -m "Improve the text at the top of the home page"
    
  4. GitHub'daki deponuza dal göndermek veya karşıya yüklemek feature/home-page-text için şu git push komutu çalıştırın:

    git push origin feature/home-page-text
    
  5. Daha önce olduğu gibi dalınızı GitHub'da dal açılan kutusundan bulabilirsiniz.

    Screenshot of GitHub showing the new branch.

Azure Pipelines'ın uygulamayı derlemesini izleme

Daha önce yaptığınız gibi, Değişiklikleri GitHub'a gönderdiğinizde Azure Pipelines da derlemeyi otomatik olarak kuyruğa alır.

İsteğe bağlı bir adım olarak, işlem hattında ilerledikçe derlemeyi takip edin ve derlemenin başarılı olduğunu doğrulayın.

Değişiklikleri ana dalda eşitleme

Özelliğiniz üzerinde çalışmakla meşgulken uzak main dalda değişiklikler yapılmış olabilir. Çekme isteği oluşturmadan önce, uzak main daldan en son bilgileri almak yaygın bir uygulamadır.

Bunu yapmak için önce dala göz atın veya dala main geçin, ardından uzak main dalı yerel main dalınızla birleştirin.

Ardından özellik dalınızı gözden geçirin, ardından özellik dalınızı dalı ile birleştirin main .

Şimdi işlemi deneyelim.

  1. Terminalinizde şu git checkout komutu çalıştırarak dalını main gözden geçirin:

    git checkout main
    
  2. Uzak main daldaki en son değişiklikleri indirmek ve bu değişiklikleri yerel main dalınızla birleştirmek için şu git pull komutu çalıştırın:

    git pull origin main
    

    Hiç kimse dalınıza main herhangi bir değişiklik yapmadığından, aşağıdaki komut size her şeyin zaten güncel olduğunu bildirir.

    From https://github.com/username/mslearn-tailspin-spacegame-web
     * branch            main     -> FETCH_HEAD
    Already up to date.
    
  3. Özellik dalınızı kullanıma almak için komutunu çalıştırın git checkout:

    git checkout feature/home-page-text
    
  4. Özellik dalınızı ile mainbirleştirin:

    git merge main
    

    Yine, hiç kimse dalınıza main herhangi bir değişiklik yapılmadığından, her şeyin hala güncel olduğunu görürsünüz.

    Already up to date.
    

    Herhangi bir değişiklik eklediyseniz, her şeyin hala çalıştığından emin olmak için uygulamanızı yeniden test etmek isteyebilirsiniz.

Yerel dalınızı yeniden gönderme

Uzak depodaki değişiklikleri yerel özellik dalınıza eklediğinizde, yerel dalınızı uzak depoya ikinci kez göndermeniz gerekir.

Uzak depodan hiçbir değişiklik eklememiş olmanıza rağmen, neler olduğunu görmek için işlemi uygulayalım.

  1. Değişikliklerinizi GitHub'a göndermek için şu git push komutu çalıştırın:

    git push origin feature/home-page-text
    

    Yanıtta bir kez daha hiçbir değişiklik yapılmadığından zaten güncel olduğunuz belirtilir.

    Everything up-to-date
    

Çekme isteği gönderme

Bu bölümde, daha önce yaptığınız gibi bir çekme isteği gönderirsiniz.

  1. Tarayıcıda GitHub'da oturum açın.

  2. mslearn-tailspin-spacegame-web deponuza gidin.

  3. Açılan listeden dalınızı feature/home-page-text seçin.

  4. Çekme isteğinizi başlatmak için Katkıda Bulun'a ve ardından Çekme isteğini aç'a tıklayın.

  5. Temel açılan listenin Microsoft deposunu değil deponuzu belirttiğinden emin olun.

    Screenshot of GitHub confirming that the branch can be merged.

    Önemli

    Değişikliklerinizi Microsoft deposuyla birleştiremediğinizden bu adım da önemlidir.

    Çatalla değil de doğrudan kendi deponuzla çalışırken main dalınız varsayılan olarak seçilir.

  6. Çekme isteğiniz için bir başlık ve açıklama girin.

    • Başlık: Giriş sayfasının üst kısmındaki metni geliştirme
    • Açıklama: Ürün ekibinden en son giriş sayfası metnini aldı.
  7. Çekme isteğinizi tamamlamak için Çekme isteği oluştur'u seçin.

    Bu adım hiçbir kodu birleştirmez. Başkalarına birleştirmeyi önerdiğiniz değişiklikleriniz olduğunu bildirir.

    Çekme isteği penceresi görüntülenir. Çekme isteği daha önce olduğu gibi azure pipelines'ı tetikleyerek uygulamanızı varsayılan olarak oluşturur.

  8. İsteğe bağlı olarak Ayrıntılar bağlantısını seçin veya Azure DevOps'ta projenize gidin ve işlem hattının çalışmasını izleyin.

  9. Derleme tamamlandığında GitHub'da çekme isteğinize geri dönün.

  10. Birleştirme çekme isteğini seçin ve ardından Birleştirmeyi onayla'yı seçin.

  11. Dalı GitHub'dan silmek için Dalı sil'i feature/home-page-text seçin.