Ubuntu Türkiye

Yazılım => Programlama => Konuyu başlatan: BlackExplotioN - 11 Eylül 2010 - 03:00:10

Başlık: GIT Kullanım Rehberi
Gönderen: BlackExplotioN - 11 Eylül 2010 - 03:00:10
Bu rehber, yeni bir projenin bir git deposuna nasıl aktarılacağını, değişikliklerin nasıl yapılacağını ve değişikliklerin diğer geliştiricilerle nasıl paylaştırılacağını açıklar.

Öncelikle, bir komut için yazılmış belgeyi her zaman aşağıdaki komut ile görüntüleyebilirsiniz: Örneğin git log --graph belgesini görüntülemek için:

$ man git-log

Başlamadan önce git'e adınız ve e-posta adresinizi vermeniz önerilir. Bunu yapmanın en kolay yolu:

$ git config --global user.name "Adınız ve Soyadınız Buraya"
$ git config --global user.email mail@adresiniz.com

Komutlarını çalıştırmaktır.

Yeni Bir Projeyi Aktarmak

Varsayalım, proje klasöründe başladığınız bir iş var. Projenizi git sürüm kontrolüne vermek için için:

$ cd proje
$ git init


Git'in cevabı aşağıdaki gibi olacaktır:

Initialized empty Git repository in .git/

Yeni bir çalışma dizini başlattınız. -- .git adında yeni bir dizin yaratıldığını farketmişsinizdir.

Şimdi, git'e geçerli dizindeki bütün dosyaların bir görüntüsünü almasını söyleyin (git-add komutundaki . işaretine dikkat edin):

$ git add .

Bu görüntü, git'in "index" adını verdiği geçici bir alanda saklanır. Index'in içeriğini kalıcı olarak saklamak için git-commit komutunu kullanın:

$ git commit

Bu komut sizden bir teslim mesajı isteyecektir. Şimdi, projenizin ilk sürümünü git içinde sakladınız.

Değişiklikler Yapmak

Birkaç dosyayı değiştirin ve sonra güncellenmiş içeriği index'e ekleyin:

$ git add dosya1 dosya2 dosya3

Teslim için hazırsınız, Nelerin teslim edilmek üzere olduğunu git-diff komutunu --cached seçeneği ile kullanarak görebilirsiniz:

$ git diff --cached

(--cached olmadan, git-diff size, index'e eklenmemiş değişikliklerinizi gösterir.) Ayrıca, durumunuzun kısa bir özeti için git-status komutunu kullanabilirsiniz:

$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD ..." to unstage)
#
# modified: dosya1
# modified: dosya2
# modified: dosya3
#


Yapacağınız başka değişiklikler varsa, bu aşamada yapın ve değişen dosyaları index'e ekleyin. Sonunda, yaptığınız değişiklikleri teslim etmek için:

$ git commit

Sizden tekrar yaptığınız değişiklikleri açıklayan bir mesaj isteyecektir, ardından projenizin yeni bir sürümünü kaydedecektir.

Her dosya için, git-add kullanmak yerine, şunu kullanabilirsiniz:

$ git commit -a

Bu komut otomatik olarak içeriği değişen dosyaları fark edecek, ( yeni dosyaları değil ) onları index'e ekleyecek ve teslim edecektir, hepsi bir adımda.

Teslim mesajları hakkında: Zorunlu olmasa da, teslim mesajlarına değişikliği özetleyen kısa bir cümle ile (50 karakterden az) başlamanız önerilir. İlk satırın ardından bir satır boşluk daha ekleyin ve sonra daha fazla açıklama girin. Teslimleri e-posta olarak gönderen araçlar, ilk satırı konu başlığı, kalan kısmı ise mesaj metni olarak kullanırlar.
Git içerikleri takip eder, dosyaları değil

Birçok sürüm kontrol sistemi, bir add komutu sunar, bu komut sisteme yeni bir dosya için değişiklikleri izlemesini bildirir. Git ile gelen add komutu daha basit ve güçlü bir iş yapar: git-add komutu, hem yeni hem de değişen dosyalar için kullanılır ve iki durum için de dosyaların ve ortamın görüntüsünü, bir sonraki teslim için kaydeder.
Proje geçmişini görüntülemek

Herhangi bir noktada, yaptığınız değişikliklerin geçmişini aşağıdaki komut ile görebilirsiniz:

$ git log

Ayrıca, her adımda yaptığınız değişikliklerin tamamını görmek için şunu kullanın:

$ git log -p

Genellikle, değişikliklerin özetini görmek her adımı hatırlamakta faydalıdır.

$ git log --stat --summary

Dalları yönetmek

Bir git deposu, geliştirmenin birçok dalını idare edebilir. "Deneysel" adında yeni bir dal yaratmak için şunu kullanın:

$ git branch deneysel

Şimdi şu komutu verdiğinizde

$ git branch

var olan bütün dalların bir listesini görürsünüz:

deneysel
* master


Deneysel dalı sizin şimdi yarattığınız dal ve "master" ise varsayılan dala verilen isimdir. Yıldız işareti, hangi dal üzerinde çalıştığınızı gösterir, dal değiştirmek için;

$ git checkout deneysel

komutunu verin ve deneysel dala geçin. Şimdi bir dosyayı değiştirin, değişikliği teslim edin ve tekrar master dala geçiş yapın:

(dosyalarda değişiklik yapın)
$ git commit -a
$ git checkout master


Şimdi yaptığınız değişikliklerin yerinde olmadığını bir kontrol edin. Yaptığınız değişiklikler deneysel dalda kaldı ve siz master dala geçtiniz.

Ana dalda başka bir değişikilik daha yapın:

(dosyalarda değişiklik yapın)
$ git commit -a

Bu noktada, iki dal birbirinden ayrıldı, ikisinde de farklı değişiklikler var. Deneysel dalda yapılan değişiklikleri master'da birleştirmek için, şunu çalıştırın:

$ git merge deneysel

Eğer değişiklikler çakışmazsa, tamamdır. Çakışmalar varsa, şüpheli dosyalar solunda bir işaret ile gösterilir;

$ git diff

komutu bunu yapacaktır. Dosyaları düzenleyerek çakışmaları çözdükten sonra,

$ git commit -a

komutu birleştirmenin sonucunu teslim edecektir. Son olarak,

$ gitk

size geçmişteki değişikliklerin, görsel bir temsilini sunacaktır.

Bu noktada, deneysel dalı silebilirsiniz:

$ git branch -d deneysel

Bu komut deneysel dalda yapılan değişikliklerin, geçerli dalda da bulunduğunu kontrol eder.

Eğer cilgin-fikir dalında yaptığınız bir geliştirmeden pişman olduysanız o dalı silebilirsiniz:

$ git branch -D cilgin-fikir

Dallar basit ve kolaydır, bir şeyleri denemenin iyi bir yoludur.
Birlikte çalışma için git kullanmak

Diyelim ki, Alice yeni bir proje başlattı ve git deposu da /home/alice/proje klasöründe, ve aynı bilgisayar üzerinde bir kullanıcı olan Bob katkıda bulunmak istiyor.

Bob şu komutla başlıyor:

bob$ git clone /home/alice/proje depom

Bu komut depom adında yeni bir dizin oluşturur, bu dizin Alice'in deposunun tamamen bir kopyasıdır, özgün projenin tüm geçmişi ile birlikte.

Bob bazı değişiklikler yapar ve teslim eder:

(dosyalarda değişiklikler yapılır)
bob$ git commit -a
(gerektikçe tekrar edin)

Hazır olduğunda, Alice'e değişiklikleri /home/bob/depom adresinden çekmesini söyler. Alice bunu yapmak için şu komutu uygular:

alice$ cd /home/alice/proje
alice$ git pull /home/bob/depom master


Bu komut Bob'un "master" dalındaki değişiklikleri, Alice'in geçerli dalıyla birleştirir. Eğer o sırada Alice'in de yaptığı değişiklikler varsa, çakışmaları elle düzeltmesi gerekebilir.


"pull" komutu iki işlem gerçekleştirir: değişiklikleri uzak bir daldan alır ve geçerli dalda birleştirir.

Genellikle, Alice yaptığı değişiklikleri, "pull" işleminde önce teslim etmek isteyecektir. Eğer Bob'un işi, geçmişleri çatallandığından beri Alice'in yaptıklarıyla çakışıyorsa, Alice kendi çalışma dizininde çakışmaları giderecek ve kendi değişiklikleri bu çakışmaların çözüm sürecinde ona engel olacaktır. (git, değişiklikleri çekecektir ancak birleştirme yapmayı reddedecektir --- Alice bir şekilde kendi değişikliklerinden kurtulacak ve tekrar uzaktaki değişiklikleri çekmeyi deneyecektir.)


Alice, birleştirmeyi yapmadan önce, Bob'un ne yaptığına bakabilir ve değişikliklerin çekmeye değer olup olmadığına karar verebilir, bunun için "fetch" komutu kullanılabilir;

alice$ git fetch /home/bob/depom master
alice$ git log -p HEAD..FETCH_HEAD


Alice, geçmişleri çatallandığından bu yana Bob'un yaptığı değişiklikleri görselleştirmek isterse, şu komutu kullanabilir:

$ gitk HEAD..FETCH_HEAD

Bu komut git log ile gördüğümüz iki-noktalı aralık gösterimini kullanıyor.

Alice, çatallanmadan sonra ikisinin de yaptıkları değişiklikleri görmek isterse üç-noktalı biçimi kullanmalı:

$ gitk HEAD...FETCH_HEAD

Bu komutun anlamı, "her iki tarafta da olan değişiklikleri gösterme, taraflardan herhangi birinde olmayan değişiklikleri göster".

Bu aralık gösteriminin, hem gitk hem de "git log" ile kullanılabileceğini hatırlayın.

Bob'un ne yaptığını incelikten sonra, eğer önemli bir durum söz konusu değilse, Alice değişiklikleri Bob'dan çekmeden çalışmaya devam edebilir. Bob'un geçmişi önemli bir değişiklik içeriyorsa, Alice geliştirmekte olduğu olduğu işi saklayabilir, bir "pull" komutu ile Bob'dan değişiklikleri çekebilir, sonra ortaya çıkan geçmiş üzerinde sakladığı dosyalarla çalışmaya devam edebilir.

Bir topluluk içinde çalışırken, genellikle bir depo ile tekrar tekrar çalışırsınız. Uzak bir depo tanımı yaparak işinizi kolaylaştırabilirsiniz:

alice$ git remote add bob /home/bob/depom

Aşağıdaki komutla, Alice çekme işleminin ilk kısmını git-fetch komutu ile, dalları birleştirmeden yapabilir:

alice$ git fetch bob

Uzun haline göre, Alice Bob'dan değişiklikleri, git-remote ile kurulan uzak depo kısayolu ile çekmektedir. Çekilen ne varsa, bir uzak takip dalında tutulur. Bu durumda, dalın adı bob/master dır.

alice$ git log -p master..bob/master

bu komut, Bob'un Alice'in master dalından ayrıldığı andan itibaren yaptığı değişiklikleri listeler.

Alice, bu değişiklikleri inceledikten sonra, değişiklikieri kendi master dalında birleştirmek isteyebilir:

alice$ git merge bob/master

Bu merge(birleştirme) ayrıca, uzak takip dalından çekilerek de yapılabilir:

alice$ git pull . remotes/bob/master

Komut satırında ne verilirse verilsin, pull her zaman geçerli dal ile birleştirir.

Daha sonra Bob, deposunu Alice'in yaptığı değişikliklerle güncelleyebilir:

bob$ git pull

Dikkat edin, Bob, Alice'in yaptığı değişiklikleri almak için depo adresi vermedi. Bob, Alice'in deposunu kopyaladığı zaman, git deponun adresini kaydetti ve bu adresi çekme işlemi için kullandı:

bob$ git config --get remote.origin.url
/home/alice/proje


(git-clone tarafından ayarlanan tüm yapılandırma git config -l ile öğrenilebilir ve git-config(1) kılavuz sayfası her seçeneğin ne anlama geldiğini açıklamaktadır.)

Git ayrıca, Alice'in bozulmamış master dalını da "origin/master" adı altında saklar:

bob$ git branch -r origin/master

Bob başka bir makineden çalışmak isterse, ssh protokolü ile kopyalama ve çekme yapabilir:

bob$ git clone alice.org:/home/alice/proje depom

Ayrıca, git kendi yerel protokolüne sahiptir, rsync ya da http kullanabilir, ayrıntılar için git-pull(1) kılavuzuna bakınız.

Git ayrıca, CVS-benzeri bir şekilde merkezi bir depo ile kullanılabilir. Ayrıntılar için git-push(1) ve gitcvs-migration(7).
Geçmişe yolculuk

Git geçmişi birbiriyle ilişkili teslimler halinde gösterir. git-log komutunun bu teslimleri listelediğini gördük. Her bir kayıt girdisindeki ilk satırın, teslime verilen ad olduğunu unutmayın:

$ git log
commit c82a22c39cbc32576f64f5c6b3f24b99ea8149c7
Author: Junio C Hamano
Date: Tue May 16 17:18:22 2006 -0700
merge-base: Clarify the comments on post processing.


Biz bu adı, git-show komutuna vererek, teslim hakkındaki detaylara ulaşabiliriz:

$ git show c82a22c39cbc32576f64f5c6b3f24b99ea8149c7

Teslimleri belirtmenin başka yolları da var. Teslim adının eşsiz kalacak kadar kısmını kullanabilirsiniz:

$ git show c82a22c39c # ilk birkaç karakter
# genellikle yeterlidir.
$ git show HEAD # geçerli daldaki değişiklikler
$ git show experimental # deneysel daldaki değişiklikler


Hemen hemen her teslim, bir önceki durumu işaret eden bir ana-baba teslime sahiptir.

$ git show HEAD^
$ git show HEAD^^
$ git show HEAD~4

$ git show HEAD^1
$ git show HEAD^2


Ayrıca, teslimlere kendi istediğiniz bir adı verebilirsiniz.

$ git tag v2.5 1b2e1d63ff

1b2e1d63ff yerine "v2.5" kullanabilirsiniz. Eğer, bu adı başkalarıyla paylaşmak istiyorsanız (örneğin, bir sürüm belirlemek için), bir "tag" nesnesi yaratmalı ve imzalamalısınız. Detaylar için, git-tag(1).

Bir teslimin adına ihtiyaç duyan her git komutu için, bunlardan herhangi birini kullanabilirsiniz, örneğin:

$ git diff v2.5 HEAD # HEAD ile v2.5 karşılaştırılır
$ git branch kararli v2.5 # v2.5 temel alınarak
# "kararli" adinda bir dal yaratır
$ git reset --hard HEAD^ # Mevcut dalınızı iptal eder ve
# durumunuzu HEAD^ öncesine çevirir.


Son komutu kullanırken dikkatli olun, son teslimden bu yana yaptığınız tüm değişiklikleri siler ve teslim edilecek bir değişiklik bırakmaz. git-reset komutunu ortak çalışılan bir depoda kullanmayın, bu diğer geliştiricilerin de gereksiz birleştirmeler yapmasına sebep verir. Ortak depoya gönderdiğiniz değişiklikleri geri almak için git-revert komutunu kullanın.

git-grep komutunu herhangi bir metni, herhangi bir sürüm içinde aramak için kullanabilirsiniz

$ git grep "merhaba" v2.5

komutu v2.5 içinde "merhaba" geçen tüm dosyaları arayacaktır.

Teslim adını vermezseniz, git-grep dizindeki bütün dosyalarda arama yapacaktır.

$ git grep "merhaba"

git ile takip edilen dosyalarda arama yapmanın kısa bir yoludur.

Birçok git komutu teslimlere göre çalışabilir. İşte git-log ile bir örnek:

$ git log v2.5..v2.6 # v2.5 ile v2.6 arasında yapılan teslimler.
$ git log v2.5.. # v2.5'ten bu yana teslimler
$ git log --since="2 weeks ago" # 2 haftadan bu yana teslimler
$ git log v2.5.. Dosya # 2.5'ten itibaren dosyayı
# değiştiren teslimler



$ git log stable..deneysel

komutunu, deneysel dalda yapılan ancak kararli dalda bulunmayan teslimleri listelerken,

$ git log deneysel..stable

komutunu, kararlı dalda yapılan ancak, deneysel dalda bulunmayan teslimleri listeler.

$ gitk --since="2 weeks ago" drivers/

$ git diff v2.5:Makefile HEAD:Makefile.in

git-show komutunu dosyaları görüntülemek için de kullanabilirsiniz:

$ git show v2.5:Makefile
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: eribol - 11 Eylül 2010 - 03:07:40
Mükemmel bir belge hazırlamışsınız gerçekten. Elleriniz dert görmesin.
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: heartsmagic - 12 Eylül 2010 - 14:30:54
İyi olacak hastanın doktor ayağına gelirmiş :)
Eline sağlık @BlackExplotioN, bu aralar ihtiyacım vardı böyle hap şeklini almış bir anlatıma.
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: EsatYuce - 25 Eylül 2010 - 03:53:00
 Wiki (http://wiki.ubuntu-tr.net/index.php/Git)'ye eklenmiştir. Ellerinize sağlık.
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: sem - 27 Temmuz 2012 - 20:28:37
Git yapısınız yerel sistemimizde kullanabiliyor muyuz arkadaşlar?

Sorunun asıl amacı açıkcası şu;

Launchpad ya da Git'de gördüğüm kadarı ile projeyi özel (private) olarak geliştirebiliyoruz fakat sonuçta tüm kodlar webe çıkmış oluyor. Amacım ise benzer bir altyapıyı yerel sistemimde kullanarak kodları dış dünyadan yalıtmak.

Kendi uygulamalarımızı zaten launchpad üzerinde genel (public ) olarak geliştiriyoruz yalnız iş yeri için aynı durum söz konusu olamıyor tabii ki. Kodları açamıyoruz dışarıya böyle bir izmin ya da yetkim yok =) O nedenle versiyon takip işlemini 20120724 şeklinde eklerle kendim kopyala yapıştır ile hallediyorum.  Ve böyle sistemleri yerelde kullanabilmenin yararlı olabileceğini düşündüğüm için bilgisi olan var mı diye yoklamak istedim.
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: ironic - 27 Temmuz 2012 - 21:25:19
Düz mantık kodu push lamazsak yerinde durur. :) Yalnızca commit leriz .

Yerel depo için aşağıdaki başlıkta anlatım mevcut.

http://stackoverflow.com/questions/6355139/local-repository-with-git
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: sem - 27 Temmuz 2012 - 21:41:41
Olay Push da bitiyor aslında =)

Yani düzenledim dosyayı sonra commit ekledim diyelim. Eklenen commit komutları saklanacak ama bir sonraki düzenlemede aynı dosya üzerinde değişiklik yapacağım ve tekrar commit komutu kullanacağım Bu durumda commitler kalacak ama yapılan değişiklikler gidecek =)

Bağlantı için teşekkürler inceleyeceğim.
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: Aaron - 23 Eylül 2012 - 00:36:51
Ufak tefek sorularım var benim. Onları bu başlıkta sorabiliyor muyum?
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: yakusha - 26 Nisan 2014 - 18:24:15
şöyle bir git alias nasıl tanımlayabiliriz.

Tanım:
basgit "bir şeyler değiştirdik"

Çalışacak komut:
git add . && git commit -m "bir şeyler değiştirdik" && git push -u origin master
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: sem - 26 Nisan 2014 - 18:28:42
http://www.cyberciti.biz/faq/linux-unix-pass-argument-to-alias-command/


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 26 Nisan 2014 - 18:29:35

EK: konu git'den ziyada BASH programlamaya giriyor aslında.
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: yakusha - 27 Nisan 2014 - 20:23:14
Alias değil fonksiyon tanımlamak gerekiyormuş...

şöyle bir fonksiyon tanımladım, işimi gördü...

basgit() { git add . && git status && git commit -m "$1" && git push -u origin master; }

Şu kaynağı kullandım: http://bash.cyberciti.biz/guide/Writing_your_first_shell_function
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: kaansef - 31 Aralık 2014 - 16:17:02
Arkadaşlar Git'in kendi sitesinde Pro Git adlı kitabı paylaşmışlar ücretsiz bir şekilde. Bir çok kısmınıda Türkçe'leştirmişler. Eğer bizim çeviri ekibi biraz yardım ederse tamamen çevrilir diye düşünüyorum.


Link: http://git-scm.com/book/tr/v1
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: freeman - 02 Mart 2015 - 11:49:45
Arkadaşlar merak ettiğim bir nokta var:
Github 'u blog gibi kullanabilir miyiz? 
Yeni bir repo oluşturup, markdown kullanarak yazı yazsak daha sonra repoyu silerler mi acaba?
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: heartsmagic - 02 Mart 2015 - 16:49:53
Sanmıyorum, örnekleri bolca mevcut internet üzerinde.
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: tlg - 02 Mart 2015 - 22:22:16
https://pages.github.com/
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: freeman - 04 Mart 2015 - 21:13:46
@heartsmagic;
Aslında blog değil de Linux/Programlama vb.döküman.  Uğraşmak istemiyorum site falan. Github 'da hemen yayınlıyorsunuz. Hoşuma gidiyor. :)

@tlg;
Bunun için Ruby mi kullanılıyordu? Öyle birşey görmüştüm de. Ama direkt repo üzerinden sayfaları yayınlayabilirsek tadından yenmez.
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: tlg - 04 Mart 2015 - 22:44:59
İlla Ruby kullanılacak diye bir kural yok sanırım, daha önce hiç rastlamadım. Kendi özel sayfalarınızı da yapabilirsiniz veya hazır sayfalara da bakabilirsiniz.
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: hwpplayer1 - 28 Ağustos 2015 - 21:51:29
Daha önce github makalesini izleyerek ssh key generate diye arattığımda çıkan makaleyi uygulamıştım ve github'a dosya atmıştım.Şimdi yeniden sistem kurdum.Ne yapmam gerekir bilemedim.Fetch etmek public key'i çekmek mümkün olmalı sanki.Teşekkürler.

Heyecanımı mazur görün.Yeni anahtar ürettim.Teşekkürler.
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: heartsmagic - 29 Ağustos 2015 - 12:38:31
Açık anahtarı alsan da bir işine yaramaz zira sistemi yeniden kurduğunda özel anahtarını da uçurmuşsundur sen. Bir şekilde ev dizinindeki .ssh dizinini yedekleseydin yeniden anahtar üretmene de gerek olmazdı.
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: hwpplayer1 - 29 Ağustos 2015 - 14:43:22
Alıntı yapılan: heartsmagic - 29 Ağustos 2015 - 12:38:31
Açık anahtarı alsan da bir işine yaramaz zira sistemi yeniden kurduğunda özel anahtarını da uçurmuşsundur sen. Bir şekilde ev dizinindeki .ssh dizinini yedekleseydin yeniden anahtar üretmene de gerek olmazdı.

Bilgi için teşekkür ederim.Neden sistem kurduğum da ayrı bir acemilik konusu.Düz kopyala yapıştır yaparak yedeğimi bir USB Belleğe aldım.Görüşmek üzere.
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: davutkara - 19 Ocak 2016 - 20:50:38
Arkadaşlar merhaba projemi github üzerine yedeklemek istiyorum, ama baya uğraşsamda bir tülü başaramadım yapamadığım nokta ise üzerine yazamıyorum.
Yani dosyaları github a yükledim ancak değişklikleri üstüne yazamıyorum Everything up-to-date bilgisi geliyor. Halbuki benim dosyalarımda değişme ver ne kadar push etsem de aynı şeyi diyor. Bunu nasıl yapabilriz değişiklikleri üzerine yazmam gerekiyor, teşekkürler
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: bugra9 - 19 Ocak 2016 - 21:53:12
Konuda her şey yazıyor.

Eğer yeni bir dosya eklemişsen ya da silmişsen,
git add .
komutuyla bildirmen gerekiyor. (Not: Noktayı unutma)

Eğer dosyada değişiklik yaptıysan,
git commit -ma "mesajın"
şeklinde yaptığın değişikliği belirtebilirsin.

Bu yaptığın tüm değişiklikler yereldeki depoya işleyecektir. Eğer bu yerel depoyu uzaktaki depoyla eşitlemek istiyorsan,
git push
yazman yeterlidir.

Yine de yapamıyorsan neler yaptığını ve nerede hata aldığını yazman gerekir. Bu şekilde yapınca olmuyor mu?
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: davutkara - 20 Ocak 2016 - 12:22:09
Alıntı yapılan: bugra9 - 19 Ocak 2016 - 21:53:12
Konuda her şey yazıyor.

Eğer yeni bir dosya eklemişsen ya da silmişsen,
git add .
komutuyla bildirmen gerekiyor. (Not: Noktayı unutma)

Eğer dosyada değişiklik yaptıysan,
git commit -ma "mesajın"
şeklinde yaptığın değişikliği belirtebilirsin.

Bu yaptığın tüm değişiklikler yereldeki depoya işleyecektir. Eğer bu yerel depoyu uzaktaki depoyla eşitlemek istiyorsan,
git push
yazman yeterlidir.

Yine de yapamıyorsan neler yaptığını ve nerede hata aldığını yazman gerekir. Bu şekilde yapınca olmuyor mu?

Teşekkürler sildim tekrar yaptım ilk yükleidğimde baya karıştırmışım sanırım şimdi şu üç komut ile herşeyi hallediyorum :)

sudo git status
sudo git add -A
sudo git commit -a -m "Açıklama"
sudo git push origin


Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: yakusha - 28 Ocak 2016 - 19:11:10
sudo ya ne gerek var!
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: WhiteScars - 03 Şubat 2016 - 21:14:40
Alıntı yapılan: davutkara - 20 Ocak 2016 - 12:22:09

sudo git status
sudo git add -A
sudo git commit -a -m "Açıklama"
sudo git push origin


sudo'lara gerek yok

git add -A
dan sonra -a'ya gerek yok. yani şu yeterli:
git commit -m "açıklama"

sudo git push origin
güzel ama remote branch belirtmemişsin. Birden fazla remote branch olursa sıkıntılı olur kanımca.
git push origin master

Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: yakusha - 12 Şubat 2016 - 03:20:28
Bir yıldan fazla süre oldu. Ajans olarak tüm site altyapımızı Git üstünden sürümü takibi ile kayıt altına aldık...

HTML ve CSS'i hazırlayan arkadaşım Windows kullandığı için SourceTree üstünden katkı veriyor. Pek katkı vermeyen tasarımcı arkadaş ise MAC üstünden yine SourceTree kullanarak katkı veriyor. Ben ise Linux üstünden çalışıyorum ve doğal olarak komut satırını kullanıyorum.

(Hemen üstteki inceliği anladınız mı? 3 farklı işletim sistemi ama kodlarımız kafayı yemiyor)

Kodlarımızı iki farklı sunucuda tutuyoruz. Bir sitemizi gitlab.com üstünde tutarken, diğer sitelerimizi bitbucket.com üstünde tutuyoruz.

Komut satırından aynı şeyleri tekrar tekrar yazmamak için küçük birkaç fonksiyon tanımladım ve .bashrc dosyasının içine ekledim...


alias cekgit='git fetch && git pull'

basgit() {
git add . &&
git status &&
git commit -m "$1" &&
git push -u origin master;
}

tutgit() {
git add . &&
git status &&
git commit -m "$1"
}

getir() {
git stash &&
git fetch &&
git pull
}


arada ender olarak git stash deyip lokaldeki değişikliği saklayıp, arkadaşın yaptığı değişikliği alıp, git stash pop deyip üstünden devam ettiğim de oluyor.

Arayüz konusunda, gitg kullandığım zamanlar oldu; lakin Ubuntu 15.10 ile hata verince giggle kullanmaya başlamak zorunda kaldım. Genelde tek yaptığım da yapılan değişikliğin hangi satırlarda neleri kapsadığını görmek oluyor.

Kimi zaman SourceTree hata verip işlemi yapmadığında konsolunu açıp yazdığım komutlarla arkadaşların karıştırdıkları noktaları topladığım da oluyor.

Sizlere iyi çalışmalar :)
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: yazilimci_adam - 10 Nisan 2016 - 01:08:39
Sıklıkla şunları kullanıyorum:

git add *
git commit -m "Açıklama şeysi"
git push -u origin master


Sürekli yazmamak adına aliases oluşturdum.

alias gadd="git add *"
alias gcom="git commit -m"
alias gpom="git push -u origin master"

# örnek
gcom "Açıklama"


Nadiren çalışmalarda pull da kullanıyorum o da çok nadir.
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: tycolon - 23 Nisan 2016 - 16:02:46
Çok faydalı bir kaynak olmuş, teşekkürler
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: edge35 - 25 Temmuz 2017 - 23:37:42
Elinize sağlık, faydalı bir kaynak olmuş.
Alıntı yapılan: BlackExplotioN - 11 Eylül 2010 - 03:00:10
$ git config --global user.name "Adınız ve Soyadınız Buraya"
$ git config --global user.email mail@adresiniz.com
Bu komutları tam olarak nasıl kullanıyoruz. Örnek bir kullanım gösterebilir misiniz?
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: alorak - 26 Temmuz 2017 - 07:21:26
[mention=629177]@edge35[/mention]

Aşağıdaki gibi kullanabilirsiniz:
git config - -global user.name "Adınız Soyadınız"
git config - -global user.email "email@adresiniz.com"


kaynak (http://pardusforum.com/uygulama-gelistirme-ortamlari/git-nedir-ve-git'e-giris/msg68/#msg68)
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: edge35 - 26 Temmuz 2017 - 13:13:52
[mention=629178]@alorak[/mention] Teşekkür ederim. Yaptım,aşağıdaki gibi çıktı verdi. Oldu mu şimdi, sanki olmamış gibi geldi  :)

myilmaz@pardus:~$ git config - -global user.name "Muhammed YILMAZ"
usage: git config [<options>]

Config file location
    --global              use global config file
    --system              use system config file
    --local               use repository config file
    -f, --file <file>     use given config file
    --blob <blob-id>      read config from given blob object

Action
    --get                 get value: name [value-regex]
    --get-all             get all values: key [value-regex]
    --get-regexp          get values for regexp: name-regex [value-regex]
    --get-urlmatch        get value specific for the URL: section[.var] URL
    --replace-all         replace all matching variables: name value [value_regex]
    --add                 add a new variable: name value
    --unset               remove a variable: name [value-regex]
    --unset-all           remove all matches: name [value-regex]
    --rename-section      rename section: old-name new-name
    --remove-section      remove a section: name
    -l, --list            list all
    -e, --edit            open an editor
    --get-color           find the color configured: slot [default]
    --get-colorbool       find the color setting: slot [stdout-is-tty]

Type
    --bool                value is "true" or "false"
    --int                 value is decimal number
    --bool-or-int         value is --bool or --int
    --path                value is a path (file or directory name)

Other
    -z, --null            terminate values with NUL byte
    --name-only           show variable names only
    --includes            respect include directives on lookup
    --show-origin         show origin of config (file, standard input, blob, command line)

myilmaz@pardus:~$ git config - -global user.email "halil_yilmaz1997@hotmail.com"usage: git config [<options>]

Config file location
    --global              use global config file
    --system              use system config file
    --local               use repository config file
    -f, --file <file>     use given config file
    --blob <blob-id>      read config from given blob object

Action
    --get                 get value: name [value-regex]
    --get-all             get all values: key [value-regex]
    --get-regexp          get values for regexp: name-regex [value-regex]
    --get-urlmatch        get value specific for the URL: section[.var] URL
    --replace-all         replace all matching variables: name value [value_regex]
    --add                 add a new variable: name value
    --unset               remove a variable: name [value-regex]
    --unset-all           remove all matches: name [value-regex]
    --rename-section      rename section: old-name new-name
    --remove-section      remove a section: name
    -l, --list            list all
    -e, --edit            open an editor
    --get-color           find the color configured: slot [default]
    --get-colorbool       find the color setting: slot [stdout-is-tty]

Type
    --bool                value is "true" or "false"
    --int                 value is decimal number
    --bool-or-int         value is --bool or --int
    --path                value is a path (file or directory name)

Other
    -z, --null            terminate values with NUL byte
    --name-only           show variable names only
    --includes            respect include directives on lookup
    --show-origin         show origin of config (file, standard input, blob, command line)

myilmaz@pardus:~$


Bir de tavsiye ediliyor diye yapmaya çalışıyorum ama tam olarak ne işe yarıyor bu?
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: alorak - 26 Temmuz 2017 - 13:35:31
"config" parametresinden sonra -- arasında bir boşluk bırakmışsınız sanırım.
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: edge35 - 26 Temmuz 2017 - 13:37:58
Tekrar teşekkür ederim, sanırsam şimdi oldu

myilmaz@pardus:~$ git config --global user.name "Muhammed YILMAZ"
>
> Muhammed YILMAZ
> git config --global user.email "halil_yilmaz1997@hotmail.com"
myilmaz@pardus:~$
Başlık: Ynt: GIT Kullanım Rehberi
Gönderen: programmer - 22 Ekim 2018 - 20:39:54
Bilgilendirme için teşekkürler.
Benim bu konuda önerebileceğim bildiğin en iyi İngilizce ve  Türkçe'ye çevrilmiş kaynak ise Pro Git açık kaynak kodlu kitaptır. Birinci  sürümünün tam Türkçe çevirisi yapıldı. Github hesabımda bazı derlenmiş Türkçe ve İngilizce formatları bulabilirsiniz (https://github.com/umitkabuli/progit/releases). İkinci basımı ise çok daha kapsamlıdır, ancak maalesef henüz çok azı Türkçe'ye çevrilmiş durumda. (https://github.com/umitkabuli/progit2-tr)