SlideShare a Scribd company logo
1 of 23
Git Sürüm Takip Sistemi
Özge Barbaros
ozge@kripton.rocks
Konular
• Sürüm Takip Sistemi Nedir?
• Git Nedir?
• Git'in Özellikleri
• Git'in Temelleri
• Git Sunucu
• Git Komutları
Sürüm Takip Sistemi Nedir?
Neden umursamalıyız?
● Sürüm takibi bir dosyada veya dosya kümesinde yapılan değişikliklerin
kaydını sürümler halide tutmak ve sonrasında bu geçmiş sürümlere
erişebilmek için kullanılan bir sistemdir.
● Sürüm takip sistemleri genellikle kaynak kodları n takibi icin kullanılıyor
ama siz bilgisayarda bulunan herhangi bir dosya için bunu yapabilirsiniz.
● Resim, belge, sunum vs.
● Sürüm kontrolü her şeyi bozduğunuzda belgelerinizi en son düzgün
haline geri alabilmenizi sağlar.
Yerel sürüm takip sistemi
Örn: RCS
Merkezi Sürüm Kontrol Sistemi
Merkezi Sürüm Kontrol Sistemi
● İnsanların genellikle karşılaştığı diğer bir sorun, aynı belge veya kod
üzerinde birden fazla kişinin aynı anda çalışması.
●
Bu problemi gidermek icin merkezi sürüm takip sistemleri
kullanılmaktadır.
●
Örn: CVS, Subversion, Perforce
●
Bu sistemlerde bir sunucu dosyaların bütün sürümlerinin bulunduğu
depoyu barındırır ve istemciler buraya bağlanarak dosyaların
versionlarini kendi yerel makinalarina ceker.
●
Avantajı: Yönetimi kolay.
●
Dezavantajı: Single Point of Failure. Sunucu kapandığında kimse
elindeki versiyonlanmış dosyayı hiç bir yere yazamaz.
Dağıtık Sürüm Takip Sistemi
Dağıtık Sürüm Takip Sistemi
● Örn: Git, Mercurial, Bazaar veya Darcs
● İstemciler sadece son sürümü yerel makinalarına indirmez, aynı
zamanda repo'nun bir aynasını kendi yerel makinalarında barındırmış
olurlar.
● Sunucu öldüğünde istemciler kendi makinalarında çalışmaya devam
eder sonra sunucu ayağa kalktığında istemci değişiklikleri sunucuya
uygular.
● Avantaj:
● Her istemci sunucunun kople yedeği olur.
● İstemcilerin kendi aralarında birlikte çalışmalarına ve tepedeki
hiyerarşiden bağımsız kendi aralarında farklı iş akışları
gerçeklemelerine yardımcı olur.
Git Nedir?
Git'in Özellikleri
● Git,GPLv2 lisanslı dağıtık sürüm takip sistemidir.
● Küçük veya büyük ölçekli her türlü projede kullanılabilir, hızlı ve sağlamdır.
● Tarihçesi: Linux Çekirdeğinin geliştiricileri önceleri ticari bir sürüm takip sistemi olan
BitKeeper'ı kullanıyorlardı. Ticari yazılım olan BitKeeper'ın Linux topluluğu tarafından
ücretsiz kullanımına son verilmesi üzerine topluluk tarafından yeni bir araç geliştirildi.
● Yeni sistemin amaclarından bazıları:
Hız
– Basit Tasarım
– Dogrusal olmayan geliştirim icin güçlü destek (Paralel dallanmalar (branch))
– Tamamen dağıtık
– Linux çekirdeği gibi büyük bir projenin verimli bir şekilde üstesinden gelebilmesi
Bu amaçlarla 2005 yılında Git sürüm takip sistemi oluşturuldu.
Git'in Temelleri
● Farkı değil sistemin o anki durumunun bir
resmini (snapshot) alır:
Git'in Temelleri
● Neredeyse her işlem yerel makinede gerçekleşir. Boylece
ağdan kaynaklanan yavasliktan kurtulur. Ornegin geçmisi
gormek için ağa bağlı olmaya gerek yoktur.
● Bütünlük Git'te önemlidir. Her şey kaydedilmeden önce
checksum'ı alınır. Böylece siz degisikligi yaparken Git'in
bundan haberdar olmasına gerek yoktur.
● Git'e geri alınması mümkün olmayan işler yaptırmak
neredeyse imkansızdır. Sadece veri ekleme işlemi
yapabilirsiniz.
Git'in Temelleri
● Git üç aşamadan oluşur:
●
●
.git dizini: Git'in projeye ait üstbilgileri ve nesne veritabanını tuttuğu
dizindir. Bu dizin Git'in en önemli parçasıdır ve uzaktaki bir depodan
klonladığınız depolar buraya kopyalanır.
●
Çalışma dizini: projenin bir sürümünün tek bir kopyasıdır ve bu
dosyalar git dizini içerisindeki sıkıştırılmış veritabanının açılmış
halidir ve siz üzerinde çalışabilmeniz için diskte yerini alır.
●
Staging alanı: Git dizininde yer alan bir sonraki commit'te nelerin yer
alacağının bilgisini tutan dosyadır. Bazen index olarak adlandırılır
ama genellikle staging alanı denir.
Git Kurulumu: Linux
● Ubuntu:
# apt-get install git
● Centos:
# yum install git
Git Komutları
●
Yeni bir proje oluşturma
$ git init deneme_proje # bu sadece kendimizin erisecegi ve uzerinde calisacagimiz proje
$ git init --bare deneme_proje.git # Baskaları ile paylasilacak bir proje olusturmak icin –bare
komutunu kullaniyoruz ve bu tarz projeler .git ile bitmeli.
●
Olusturdugumuz veya daha önce mevcut bir projenin kopyasini alma:
$ git clone git@ip_address:/home/git/deneme_proje.git deneme_proje
● Yerel git kopyasındaki ayarlar
$ git config --global user.name "Ozge Barbaros"
$ git config --global user.email ozge@kripton.rocks
Not: Bu yapılan commit'lerde gorunecek isim ve e-mail adresini belirtir.
Git Komutları
● Proje içerisinde degisiklik yaptıktan sonra:
$ git status # projede yapılan son degisiklikleri gosterir hangi dosyaların
eklenip hangilerin silindigini, hangilerinde değişiklik yapıldığını.
$ git diff # bir önceki sürüm ile aradaki farkları gösterir.
$ git add dosya_adi # yeni olusturulan dosyaları ve dizinleri depoya ekler.
$ git commit -a -m “Commit mesaji” # yapılan degisikliklerin yerel repo'ya
eklenmesi
$ git push # son commitin uzaktaki repoya gonderilmesi.
Git Komutları
● Commit geçmişi:
$ git log
● Uzak repo'daki son degisikligi alma:
$ git pull
Git Komutları
Git Komutları
● $ git status -s
● M README
● MM Rakefile
● A lib/git.rb
● M lib/simplegit.rb
● ?? LICENSE.txt
Git Komutları
● Gormezden gelinecek dosyalar: .gitignore
● # no .a files
● *.a
● # but do track lib.a, even though you're ignoring .a files above
● !lib.a
● # only ignore the TODO file in the current directory, not subdir/TODO
● /TODO
● # ignore all files in the build/ directory
● build/
● # ignore doc/notes.txt, but not doc/server/arch.txt
● doc/*.txt
● # ignore all .pdf files in the doc/ directory
● doc/**/*.pdf
Git Komutları
● Dosya silme:
$ rm dosya_adi
$ git rm dosya_adi
● Dosya taşıma/isim degisikligi:
$ git mv file_from file_to
● Son commit'e birşeyler eklemek icin orn:
$ git commit -m “initial”
$ git add unutulan_dosya
$ git commit --amend
Git komutları
● git reset HEAD CONTRIBUTING.md #
staging'e eklenmiş bir dosyayı geri alma.
● git checkout -- CONTRIBUTING.md # uzerinde
duzenleme yapilmis dosyayi geri alma.
Kaynaklar
● https://git-scm.com/doc

More Related Content

Viewers also liked

Yasamımız elektrik
Yasamımız elektrikYasamımız elektrik
Yasamımız elektrikglcnpaus
 
Global Perspective for Oil and Gas in Energy Policies
Global Perspective for Oil and Gas in Energy PoliciesGlobal Perspective for Oil and Gas in Energy Policies
Global Perspective for Oil and Gas in Energy PoliciesDr.Zeynep Elif Yildizel
 
Fieldbus Sistemlerinin Temelleri ve Karşılaştırılması
Fieldbus Sistemlerinin Temelleri ve KarşılaştırılmasıFieldbus Sistemlerinin Temelleri ve Karşılaştırılması
Fieldbus Sistemlerinin Temelleri ve KarşılaştırılmasıWAGO Türkiye
 
SIEM – VAR OLAN VERİLERİN ANLAMI - Hacktrickconf
SIEM – VAR OLAN VERİLERİN ANLAMI - HacktrickconfSIEM – VAR OLAN VERİLERİN ANLAMI - Hacktrickconf
SIEM – VAR OLAN VERİLERİN ANLAMI - HacktrickconfMehmet KILIÇ
 
Global Perspective for Oil and Gas in Energy Policies
Global  Perspective for Oil and Gas in Energy PoliciesGlobal  Perspective for Oil and Gas in Energy Policies
Global Perspective for Oil and Gas in Energy PoliciesDr.Zeynep Elif Yildizel
 
Biyoyakıt: Yeni Alternatif, Yeni Problem!
Biyoyakıt: Yeni Alternatif, Yeni Problem!Biyoyakıt: Yeni Alternatif, Yeni Problem!
Biyoyakıt: Yeni Alternatif, Yeni Problem!Ali Kuru
 

Viewers also liked (20)

Basics for LNG 2011
Basics for LNG 2011Basics for LNG 2011
Basics for LNG 2011
 
6491 Yeni Petrol Kanunu
6491 Yeni Petrol Kanunu6491 Yeni Petrol Kanunu
6491 Yeni Petrol Kanunu
 
Yasamımız elektrik
Yasamımız elektrikYasamımız elektrik
Yasamımız elektrik
 
GDA Kazilan Kuyular 2007
GDA Kazilan Kuyular 2007GDA Kazilan Kuyular 2007
GDA Kazilan Kuyular 2007
 
Kenya afrika
Kenya afrikaKenya afrika
Kenya afrika
 
Kerkuk 2012
Kerkuk 2012Kerkuk 2012
Kerkuk 2012
 
Irak Refinery Status 2011
Irak Refinery Status 2011Irak Refinery Status 2011
Irak Refinery Status 2011
 
Global Perspective for Oil and Gas in Energy Policies
Global Perspective for Oil and Gas in Energy PoliciesGlobal Perspective for Oil and Gas in Energy Policies
Global Perspective for Oil and Gas in Energy Policies
 
Fieldbus Sistemlerinin Temelleri ve Karşılaştırılması
Fieldbus Sistemlerinin Temelleri ve KarşılaştırılmasıFieldbus Sistemlerinin Temelleri ve Karşılaştırılması
Fieldbus Sistemlerinin Temelleri ve Karşılaştırılması
 
Geotermal Energy / Jeotermal Enerji
Geotermal Energy / Jeotermal EnerjiGeotermal Energy / Jeotermal Enerji
Geotermal Energy / Jeotermal Enerji
 
SIEM – VAR OLAN VERİLERİN ANLAMI - Hacktrickconf
SIEM – VAR OLAN VERİLERİN ANLAMI - HacktrickconfSIEM – VAR OLAN VERİLERİN ANLAMI - Hacktrickconf
SIEM – VAR OLAN VERİLERİN ANLAMI - Hacktrickconf
 
Nano ders 2
Nano ders 2Nano ders 2
Nano ders 2
 
Küresel Isınmanın Faydaları
Küresel Isınmanın FaydalarıKüresel Isınmanın Faydaları
Küresel Isınmanın Faydaları
 
Ilk kutuphaneler
Ilk kutuphanelerIlk kutuphaneler
Ilk kutuphaneler
 
Kuslar
KuslarKuslar
Kuslar
 
Standart model atom alti parcaciklar
Standart model atom alti parcaciklarStandart model atom alti parcaciklar
Standart model atom alti parcaciklar
 
Network101
Network101Network101
Network101
 
Global Perspective for Oil and Gas in Energy Policies
Global  Perspective for Oil and Gas in Energy PoliciesGlobal  Perspective for Oil and Gas in Energy Policies
Global Perspective for Oil and Gas in Energy Policies
 
Biyoyakıt: Yeni Alternatif, Yeni Problem!
Biyoyakıt: Yeni Alternatif, Yeni Problem!Biyoyakıt: Yeni Alternatif, Yeni Problem!
Biyoyakıt: Yeni Alternatif, Yeni Problem!
 
Atom kuramlari
Atom kuramlariAtom kuramlari
Atom kuramlari
 

Similar to Git Sürüm Takip Sistemi

Git ile Sürüm Takibi
Git ile Sürüm TakibiGit ile Sürüm Takibi
Git ile Sürüm TakibiÖmer ÖZKAN
 
Abapgit kurulum kullanım
Abapgit kurulum kullanımAbapgit kurulum kullanım
Abapgit kurulum kullanımEliflknurNACAR
 
Developer Tools
Developer ToolsDeveloper Tools
Developer ToolsBurak Erol
 
Go Programlama Dili - Seminer
Go Programlama Dili - SeminerGo Programlama Dili - Seminer
Go Programlama Dili - SeminerCihan Özhan
 
Linux Türevi İşletim Sistemlerinde Paket Hazırlama.
Linux Türevi İşletim Sistemlerinde Paket Hazırlama.Linux Türevi İşletim Sistemlerinde Paket Hazırlama.
Linux Türevi İşletim Sistemlerinde Paket Hazırlama.İbrahim UÇAR
 
Android mimari-cekirdek-binding-scheduler
Android mimari-cekirdek-binding-schedulerAndroid mimari-cekirdek-binding-scheduler
Android mimari-cekirdek-binding-schedulerErcan Pinar
 
SELinux: Yüksek Güvenlikli Linux
SELinux: Yüksek Güvenlikli LinuxSELinux: Yüksek Güvenlikli Linux
SELinux: Yüksek Güvenlikli LinuxEmre Can Kucukoglu
 
Temel ag prog_yapilari_mseml
Temel ag prog_yapilari_msemlTemel ag prog_yapilari_mseml
Temel ag prog_yapilari_msemlmimarsinantl
 
Chroot içinde {DNS, NTP, Nginx, PHP-FPM}
Chroot içinde {DNS, NTP, Nginx, PHP-FPM}Chroot içinde {DNS, NTP, Nginx, PHP-FPM}
Chroot içinde {DNS, NTP, Nginx, PHP-FPM}Ali Erdinc Koroglu
 
Kali ile Linux'e Giriş | IntelRAD
Kali ile Linux'e Giriş | IntelRADKali ile Linux'e Giriş | IntelRAD
Kali ile Linux'e Giriş | IntelRADMehmet Ince
 
Linux Yaz Kampı 2017 GNU/Linux Eğitim Dökümanı
Linux Yaz Kampı 2017 GNU/Linux Eğitim DökümanıLinux Yaz Kampı 2017 GNU/Linux Eğitim Dökümanı
Linux Yaz Kampı 2017 GNU/Linux Eğitim Dökümanıİbrahim UÇAR
 
Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri
Özgür Yazılıma Nasıl Katkı Verilir - Mugla SemineriÖzgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri
Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineriackepenek
 
Blockchain : Decentralized Application Development (Turkish)
Blockchain : Decentralized Application Development (Turkish)Blockchain : Decentralized Application Development (Turkish)
Blockchain : Decentralized Application Development (Turkish)Cihan Özhan
 
Release Management
Release ManagementRelease Management
Release ManagementOzgur Birol
 

Similar to Git Sürüm Takip Sistemi (20)

Git Sunumu
Git SunumuGit Sunumu
Git Sunumu
 
Git ile Sürüm Takibi
Git ile Sürüm TakibiGit ile Sürüm Takibi
Git ile Sürüm Takibi
 
Abapgit kurulum kullanım
Abapgit kurulum kullanımAbapgit kurulum kullanım
Abapgit kurulum kullanım
 
Developer Tools
Developer ToolsDeveloper Tools
Developer Tools
 
Go Programlama Dili - Seminer
Go Programlama Dili - SeminerGo Programlama Dili - Seminer
Go Programlama Dili - Seminer
 
Linux Türevi İşletim Sistemlerinde Paket Hazırlama.
Linux Türevi İşletim Sistemlerinde Paket Hazırlama.Linux Türevi İşletim Sistemlerinde Paket Hazırlama.
Linux Türevi İşletim Sistemlerinde Paket Hazırlama.
 
Git & Github
Git & GithubGit & Github
Git & Github
 
Version Control CheatSheet - Git
Version Control CheatSheet - GitVersion Control CheatSheet - Git
Version Control CheatSheet - Git
 
İnsanlar için GIT
İnsanlar için GITİnsanlar için GIT
İnsanlar için GIT
 
Android mimari-cekirdek-binding-scheduler
Android mimari-cekirdek-binding-schedulerAndroid mimari-cekirdek-binding-scheduler
Android mimari-cekirdek-binding-scheduler
 
SELinux: Yüksek Güvenlikli Linux
SELinux: Yüksek Güvenlikli LinuxSELinux: Yüksek Güvenlikli Linux
SELinux: Yüksek Güvenlikli Linux
 
Temel ag prog_yapilari_mseml
Temel ag prog_yapilari_msemlTemel ag prog_yapilari_mseml
Temel ag prog_yapilari_mseml
 
Chroot içinde {DNS, NTP, Nginx, PHP-FPM}
Chroot içinde {DNS, NTP, Nginx, PHP-FPM}Chroot içinde {DNS, NTP, Nginx, PHP-FPM}
Chroot içinde {DNS, NTP, Nginx, PHP-FPM}
 
Kali ile Linux'e Giriş | IntelRAD
Kali ile Linux'e Giriş | IntelRADKali ile Linux'e Giriş | IntelRAD
Kali ile Linux'e Giriş | IntelRAD
 
Linux Yaz Kampı 2017 GNU/Linux Eğitim Dökümanı
Linux Yaz Kampı 2017 GNU/Linux Eğitim DökümanıLinux Yaz Kampı 2017 GNU/Linux Eğitim Dökümanı
Linux Yaz Kampı 2017 GNU/Linux Eğitim Dökümanı
 
Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri
Özgür Yazılıma Nasıl Katkı Verilir - Mugla SemineriÖzgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri
Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri
 
Blockchain : Decentralized Application Development (Turkish)
Blockchain : Decentralized Application Development (Turkish)Blockchain : Decentralized Application Development (Turkish)
Blockchain : Decentralized Application Development (Turkish)
 
Temel linux
Temel linuxTemel linux
Temel linux
 
Release Management
Release ManagementRelease Management
Release Management
 
Pardus’un Merkezi Yönetimi Sunumu
Pardus’un Merkezi Yönetimi SunumuPardus’un Merkezi Yönetimi Sunumu
Pardus’un Merkezi Yönetimi Sunumu
 

Git Sürüm Takip Sistemi

  • 1. Git Sürüm Takip Sistemi Özge Barbaros ozge@kripton.rocks
  • 2. Konular • Sürüm Takip Sistemi Nedir? • Git Nedir? • Git'in Özellikleri • Git'in Temelleri • Git Sunucu • Git Komutları
  • 3. Sürüm Takip Sistemi Nedir? Neden umursamalıyız? ● Sürüm takibi bir dosyada veya dosya kümesinde yapılan değişikliklerin kaydını sürümler halide tutmak ve sonrasında bu geçmiş sürümlere erişebilmek için kullanılan bir sistemdir. ● Sürüm takip sistemleri genellikle kaynak kodları n takibi icin kullanılıyor ama siz bilgisayarda bulunan herhangi bir dosya için bunu yapabilirsiniz. ● Resim, belge, sunum vs. ● Sürüm kontrolü her şeyi bozduğunuzda belgelerinizi en son düzgün haline geri alabilmenizi sağlar.
  • 4. Yerel sürüm takip sistemi Örn: RCS
  • 6. Merkezi Sürüm Kontrol Sistemi ● İnsanların genellikle karşılaştığı diğer bir sorun, aynı belge veya kod üzerinde birden fazla kişinin aynı anda çalışması. ● Bu problemi gidermek icin merkezi sürüm takip sistemleri kullanılmaktadır. ● Örn: CVS, Subversion, Perforce ● Bu sistemlerde bir sunucu dosyaların bütün sürümlerinin bulunduğu depoyu barındırır ve istemciler buraya bağlanarak dosyaların versionlarini kendi yerel makinalarina ceker. ● Avantajı: Yönetimi kolay. ● Dezavantajı: Single Point of Failure. Sunucu kapandığında kimse elindeki versiyonlanmış dosyayı hiç bir yere yazamaz.
  • 8. Dağıtık Sürüm Takip Sistemi ● Örn: Git, Mercurial, Bazaar veya Darcs ● İstemciler sadece son sürümü yerel makinalarına indirmez, aynı zamanda repo'nun bir aynasını kendi yerel makinalarında barındırmış olurlar. ● Sunucu öldüğünde istemciler kendi makinalarında çalışmaya devam eder sonra sunucu ayağa kalktığında istemci değişiklikleri sunucuya uygular. ● Avantaj: ● Her istemci sunucunun kople yedeği olur. ● İstemcilerin kendi aralarında birlikte çalışmalarına ve tepedeki hiyerarşiden bağımsız kendi aralarında farklı iş akışları gerçeklemelerine yardımcı olur.
  • 9. Git Nedir? Git'in Özellikleri ● Git,GPLv2 lisanslı dağıtık sürüm takip sistemidir. ● Küçük veya büyük ölçekli her türlü projede kullanılabilir, hızlı ve sağlamdır. ● Tarihçesi: Linux Çekirdeğinin geliştiricileri önceleri ticari bir sürüm takip sistemi olan BitKeeper'ı kullanıyorlardı. Ticari yazılım olan BitKeeper'ın Linux topluluğu tarafından ücretsiz kullanımına son verilmesi üzerine topluluk tarafından yeni bir araç geliştirildi. ● Yeni sistemin amaclarından bazıları: Hız – Basit Tasarım – Dogrusal olmayan geliştirim icin güçlü destek (Paralel dallanmalar (branch)) – Tamamen dağıtık – Linux çekirdeği gibi büyük bir projenin verimli bir şekilde üstesinden gelebilmesi Bu amaçlarla 2005 yılında Git sürüm takip sistemi oluşturuldu.
  • 10. Git'in Temelleri ● Farkı değil sistemin o anki durumunun bir resmini (snapshot) alır:
  • 11. Git'in Temelleri ● Neredeyse her işlem yerel makinede gerçekleşir. Boylece ağdan kaynaklanan yavasliktan kurtulur. Ornegin geçmisi gormek için ağa bağlı olmaya gerek yoktur. ● Bütünlük Git'te önemlidir. Her şey kaydedilmeden önce checksum'ı alınır. Böylece siz degisikligi yaparken Git'in bundan haberdar olmasına gerek yoktur. ● Git'e geri alınması mümkün olmayan işler yaptırmak neredeyse imkansızdır. Sadece veri ekleme işlemi yapabilirsiniz.
  • 12. Git'in Temelleri ● Git üç aşamadan oluşur: ●
  • 13. ● .git dizini: Git'in projeye ait üstbilgileri ve nesne veritabanını tuttuğu dizindir. Bu dizin Git'in en önemli parçasıdır ve uzaktaki bir depodan klonladığınız depolar buraya kopyalanır. ● Çalışma dizini: projenin bir sürümünün tek bir kopyasıdır ve bu dosyalar git dizini içerisindeki sıkıştırılmış veritabanının açılmış halidir ve siz üzerinde çalışabilmeniz için diskte yerini alır. ● Staging alanı: Git dizininde yer alan bir sonraki commit'te nelerin yer alacağının bilgisini tutan dosyadır. Bazen index olarak adlandırılır ama genellikle staging alanı denir.
  • 14. Git Kurulumu: Linux ● Ubuntu: # apt-get install git ● Centos: # yum install git
  • 15. Git Komutları ● Yeni bir proje oluşturma $ git init deneme_proje # bu sadece kendimizin erisecegi ve uzerinde calisacagimiz proje $ git init --bare deneme_proje.git # Baskaları ile paylasilacak bir proje olusturmak icin –bare komutunu kullaniyoruz ve bu tarz projeler .git ile bitmeli. ● Olusturdugumuz veya daha önce mevcut bir projenin kopyasini alma: $ git clone git@ip_address:/home/git/deneme_proje.git deneme_proje ● Yerel git kopyasındaki ayarlar $ git config --global user.name "Ozge Barbaros" $ git config --global user.email ozge@kripton.rocks Not: Bu yapılan commit'lerde gorunecek isim ve e-mail adresini belirtir.
  • 16. Git Komutları ● Proje içerisinde degisiklik yaptıktan sonra: $ git status # projede yapılan son degisiklikleri gosterir hangi dosyaların eklenip hangilerin silindigini, hangilerinde değişiklik yapıldığını. $ git diff # bir önceki sürüm ile aradaki farkları gösterir. $ git add dosya_adi # yeni olusturulan dosyaları ve dizinleri depoya ekler. $ git commit -a -m “Commit mesaji” # yapılan degisikliklerin yerel repo'ya eklenmesi $ git push # son commitin uzaktaki repoya gonderilmesi.
  • 17. Git Komutları ● Commit geçmişi: $ git log ● Uzak repo'daki son degisikligi alma: $ git pull
  • 19. Git Komutları ● $ git status -s ● M README ● MM Rakefile ● A lib/git.rb ● M lib/simplegit.rb ● ?? LICENSE.txt
  • 20. Git Komutları ● Gormezden gelinecek dosyalar: .gitignore ● # no .a files ● *.a ● # but do track lib.a, even though you're ignoring .a files above ● !lib.a ● # only ignore the TODO file in the current directory, not subdir/TODO ● /TODO ● # ignore all files in the build/ directory ● build/ ● # ignore doc/notes.txt, but not doc/server/arch.txt ● doc/*.txt ● # ignore all .pdf files in the doc/ directory ● doc/**/*.pdf
  • 21. Git Komutları ● Dosya silme: $ rm dosya_adi $ git rm dosya_adi ● Dosya taşıma/isim degisikligi: $ git mv file_from file_to ● Son commit'e birşeyler eklemek icin orn: $ git commit -m “initial” $ git add unutulan_dosya $ git commit --amend
  • 22. Git komutları ● git reset HEAD CONTRIBUTING.md # staging'e eklenmiş bir dosyayı geri alma. ● git checkout -- CONTRIBUTING.md # uzerinde duzenleme yapilmis dosyayi geri alma.