Alıştırma - İşlem hattında değişiklik gönderme
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.
Terminalinizde komutunu çalıştırarak
git checkout main
dalamain
geçin:git checkout main
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.
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
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çinhttp://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:
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
Visual Studio Code'da Tailspin.SpaceGame.Web/Views/Home dizininde Index.cshtml dosyasını açın.
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.
Ö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.
Terminalinizde aşağıdaki
dotnet build
komutu çalıştırarak uygulamayı derleyin:dotnet build --configuration Release
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
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.
İş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.
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.
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
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"
GitHub'daki deponuza dal göndermek veya karşıya yüklemek
feature/home-page-text
için şugit push
komutu çalıştırın:git push origin feature/home-page-text
Daha önce olduğu gibi dalınızı GitHub'da dal açılan kutusundan bulabilirsiniz.
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.
Terminalinizde şu
git checkout
komutu çalıştırarak dalınımain
gözden geçirin:git checkout main
Uzak
main
daldaki en son değişiklikleri indirmek ve bu değişiklikleri yerelmain
dalınızla birleştirmek için şugit 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.
Özellik dalınızı kullanıma almak için komutunu çalıştırın
git checkout
:git checkout feature/home-page-text
Özellik dalınızı ile
main
birleş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.
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.
mslearn-tailspin-spacegame-web deponuza gidin.
Açılan listeden dalınızı
feature/home-page-text
seçin.Çekme isteğinizi başlatmak için Katkıda Bulun'a ve ardından Çekme isteğini aç'a tıklayın.
Temel açılan listenin Microsoft deposunu değil deponuzu belirttiğinden emin olun.
Ö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.Ç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ı.
Ç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.
İ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.
Derleme tamamlandığında GitHub'da çekme isteğinize geri dönün.
Birleştirme çekme isteğini seçin ve ardından Birleştirmeyi onayla'yı seçin.
Dalı GitHub'dan silmek için Dalı sil'i
feature/home-page-text
seçin.