Git Branch Clone

♦ Git Branch Clone :

Projeyi direk herhangi bir branch den clone yapmak istiyorsak

git clone --single-branch --branch <branchname> host:/dir.git

komutunu kullanabiliriz.

git clone --single-branch --branch feature/kubitokya https://kubitokya@bitbucket.org/kubitokya/test.git

 

 

Temel Git Komutları

♦ Temel Git Komutları :

Git Projesini kendi ortamımıza aktarma ↓

git clone +(adres) +(dosya konumu)

Değişiklikleri güncelleme ↓  (fetch değişiklikleri projemize uygulamaz)

git fetch

Değişiklikleri projemize uygulama ↓  (pull ile değişiklikler projemize uygulanır.)

git pull

Başka bir Branch e geçmek ↓

git checkout develop / master

Branch’leri listelemek ↓

git branch -l

Originde ki Fetch ve Push adresleri ↓

git remote -v

Güncel değişiklikleri görüntüleme ↓

git status

İlk oluşturulan veriyi Ekleme (örn: sınıf) ↓

git add class2

Tüm yeni değişiklikleri Ekleme↓

git add .

Değişiklikleri ve Mesaj içeriğini Commit etmek ↓

git commit -am "Yeni Form Eklendi"

Bizdeki değişiklikleri Git Projesine uygulama ↓

git push origin

 

Var olan dosya üzerindeki değişiklikleri gönderirken  >  Commit + Push
İlk oluşturulan dosyayı ve değişiklikleri gönderirken  >  Add + Commit + Push

 

Git Conflicts (Visual Studio)

♦ Git Conflicts (Visual Studio) :

Feature1 adında Feature ekliyoruz. Daha önceden oluşturduğumuz class2 sınıfına F1String adında değişken tanımlıyoruz. Ve commit işlemini gerçekleştiriyoruz.

Ardından Feature2 adında  bir  Feature oluşturduk ve aynı işlemi F2String adında değişken eklerek gerçekleştiryoruz. Ve Feature2 de yapılan değişikliği de commit yapıyoruz.

Bu slayt gösterisi için JavaScript gerekir.

Daha sonra sırayla Feature ları sonlandırmak için finish diyoruz. İkinci sonlandırmada bir uyarı alıyoruz.

Bu slayt gösterisi için JavaScript gerekir.

GitVs17

Feature lardan gelen kodlar HEAD etiketi içine alınmış. ve

Team Explorer > Home > Branches altında Conflicts uyarısı gelmektedir.

GitVs18

Üzerine tıkladığımızda Merge seçeneği gelmektedir.

GitVs19

Bu slayt gösterisi için JavaScript gerekir.

Merge işlemini seçtiğimizde Feature lardan gelen ve çakışan satırları göstermekte ve hangisinin seçileceğini sormaktadır. Biz iki satırıda onaylıyoruz ve sol üst köşeden ‘Accept Merge’ diyerek işlemi onaylıyoruz.

GitVs23

Ve en son olarak Merge işlemini commit liyoruz.
Son değişiklikleri projemize push ediyoruz.

GitFlow (Visual Studio)

♦ GitFlow (Visual Studio) :

Visual Studio GitFlow eklentisini kuruyoruz.

Tools > Extensions and Updates >

GitVs7

Kurulum sonrası Visual Studio yeniden başladığında Team Explorer sayfasında GitFlow başlığını görebiliriz.

GitVs8b

Kurulum gerçekleştikten sonra Develop un altında yeni bir geçici Branch ( Feature ) oluşturuyoruz.

GitVs9

Oluşturduğumuz Feature içinde class2 sınıfına Class2String adında string değer ekliyoruz.

Feature içinde yaptığımız değişiklikleri commit  yapmamız gerekmektedir.  Yeni bir Feature oluştururken daha önceki Feature u commit lememiş isek hata ile karşılabiliriz.

Feature işlemimizi bitirip yayınlamadan diğer branch ler etkilenmeyecektir. Develop Branch imize geçtiğimizde Feature1 içinde yaptığımız değişiklikler görüntülenmemektedir. Finish Feature ile bu alt branch i sonlandırdığımızda değişiklikler develop branch ine eklenecektir.

Bu şekilde aynı anda birden fazla işlemi diğer çalışmalarımızı etkilemeden yürütebiliriz.

GitVs10

Feature ile işlemimiz bittiğinde Finish Feature ile bu alt branch i sonlandırıyoruz.

GitVs11

Daha sonra push işlemi ile değişikleri projeye dahil edebiliriz.

Git Commit & Push İşlemi (Git Bash)

♦ Git Commit & Push İşlemi (Git Bash) :

Visual Studio üzerinden projemize yeni bir class ekledik. Class’ın adı Class2. Bu değişikliği öncelikle Git Bash üzerinden gözlemlemek istersek

git status

komutunu yazıyoruz.

Git11b

İzlenmeyen dosyalar uyarısı aldık. Dosya adını kırmızı ile göstermektedir.

Sıfır bir veriyi (izlenmeyen dosyayı) hemen push edemiyoruz. Öncelikle ‘add’ ile projemize ekliyoruz.

git add .

komutu ile tüm güncellemeleri ekliyoruz. Tek bir dosyadaki güncellemeyi ekleyeceksek ‘.’ işareti yerine ->    git add (dosya adi)     ile yapabiliriz.

Git12

‘ git status ‘ komutu ile yeni bir dosya bulunduğunu ve düzenlenecek değişikler olduğunu görebiliriz. Bundan sonraki aşama var olan bir dosya üzerindeki commit ve push işlemi ile aynı olacaktır.

git commit -am "class2 sinifi eklendi"

commit işlemi gerçekleştikten sonra

$ git commit -am "class 2 eklendi"
[develop 1d12a42] class 2 eklendi
 1 file changed, 12 insertions(+)
 create mode 100644 WebLibrary/WebLibrary/Class2.cs

sıra push işleminde

git push origin

push işlemimiz de gerçekleşmiş bulunmakta.

$ git push origin
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 596 bytes | 596.00 KiB/s, done.
Total 5 (delta 1), reused 0 (delta 0)
remote:
remote: Create pull request for develop:
remote: https://.../web/pull-requests/...
remote:
To https://.../web.git
 fcb4a18..1d12a42 develop -> develop

dilerseniz ‘git status’ komutu ile aktif işlem olup olmadığını kontrol edebiliriz.

Git Commit & Push (Visual Studio)

♦ Git Commit & Push İşlemi (Visual Studio) :

Öncelikle yeni bir solutions oluşturuyoruz.

GitVs2b

Develop branch ine geçtik ve WebLibrary adında Library oluşturduk. Pencerenin en alt kısmında branch seçimimizi , gönderilmesi gereken commit ve push işlemlerimizi görebiliriz.

GitVs3

Şuan aktif commit işlemimiz bulunmaktadır.

GitVs4b

Pencerenin en alt kısmında kalem simgesi ile gösterilen Commit işlemine geçip gerekli açıklamayı yazarak gönderiyoruz.

GitVs5b

Aktif Commit işlemimiz artık sıfırlanmış durumda. Sırada Push işlemimiz olduğunu yine pencerenin en alt kısmından görebiliriz. Yine aynı şekilde Push işlemimizi gerçekleştiryoruz.

GitVs6b

Yapılan işlemleri Bitbucket commit sayfasında herkes tarafından artık görüntülenmekte ve değişiklikler projeye eklenmiş bulunmaktadır.

 

Git Branch Oluşturma ve Merge (Bitbucket)

♦ Git Branch Oluşturma ve Merge (Bitbucket):

Oluşturduğumuz repository nin altında Branches kategorisinden ‘Create Branch’
ile develop adında branch oluşturuyoruz.

Git6

Değişiklikleri güncellemek ve develop branch ine geçiş yapmak için komut

git fetch && git checkout develop

 

Git7

Develop Branch i oluşturduktan sonra Master Branch de bulunan verileri Merge etmemiz gerekmektedir. Bizim Otomatik olarak oluşturulan Readme dosyasını Merge yapıyoruz.

Git9

Dosyalar develop branch ine aktarıldı.

Git5

henüz develop üzerinde hiç işlem yapmadığımız için Active Branch listesinde Develop Branch imizi göremeyebiliriz. Visual Studio da yapacağımız ilk değişiklik ile Active Branch listesinde görebiliriz.

Visual Studio Git kurulum

♦ Visual Studio Git kurulum :

Solution Explorer yanında bulunan ‘Team Explorer’ sekmesine geliyoruz.
Burada 3 seçeneğimiz var.
New -> Yeni bir Git Projesine başlayacaksak
Add -> Daha önce bilgisayarımızda kurulumu yapılmış bir Git Projesi varsa onun yolunu belirtiyoruz.
Clone -> Başlanmış bir Git projesi var fakat bizim bilgisayarımızda kurulumu gerçekleşmemiş ise hem çalışacağımız dosya uzantısını hem projenin https linkini veriyoruz.

GitVs1b

Biz daha önce Git Bash aracılığı ile dosya konumumuzu belirtip bağlantımızı yaptığımız için ‘Add’ ile projemizi Visual Studio ya ekliyoruz.

GitVs2

Git Scm Kurulum

♦ Git Scm Kurulum:

  Bitbucket :
Online Git Repositori siteleri olan Github veya Bitbucket ‘dan üyeliğimizi gerçekleştiriyoruz.
Biz https://bitbucket.org/  ile başlıyoruz.

Bu slayt gösterisi için JavaScript gerekir.

Bitbucket ile kubitokya adında Team oluşturduk. Uygulama adında bir Proje başlattık ve Web adında Repository oluşturduk. Projenin Https adresini Overview dan görüntülüyoruz.

   Git SCM :
Git Scm kontrolünü Form arayüzü ile veya konsol ile yapabiliriz. Konsol ekranından Windows ortamında çalışmak için uygulamamızı kuruyoruz.

https://www.git-scm.com/download/win

GitKurulum

Kurulan Git Bash uygulamasını açıyoruz. Linux komutlarının da çalıştığı bir terminal ekranı karşımıza geliyor. Projemizi klonlamak istediğimiz dizine geçiyoruz. ( ‘cd’ komutu ile)

bitbucket5
bitbucket da projemizin https linkini kopyalıyoruz.

$ git clone https://.../kubitokya/web.git GitUygulama

komutu ile projemizi, bulunduğumuz dizine GitUygulama klasörü adı altında clone luyoruz.

Git4