Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GIT #10

Merged
merged 1 commit into from
Oct 28, 2017
Merged

GIT #10

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
233 changes: 233 additions & 0 deletions git - github.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,233 @@
http://vcs.atspace.co.uk/2012/11/05/which-repository-is-more-compact-git-or-svn/
https://hanakamer.com/bu-yaz%C4%B1da-git-versiyon-kontrol-sisteminin-yap%C4%B1-ta%C5%9Flar%C4%B1ndan-ve-temel-%C3%A7al%C4%B1%C5%9Fma-prensibinden-bahsedece-b3be93158541

git nedir?

Git Nedir?
Git bir versiyon kontrol sistemidir. Yapaca��n�z projelerin ad�m ad�m versiyonlar�n� alarak daha sonra ihtiya� halinde, ald���n�z bu versiyonlara geri d�nebilirsiniz.

Git yaz�l�m�, Linux �ekirdi�ini olu�turan Linus Torvalds taraf�ndan yaz�lm��t�r. A��k kaynak kodlu �zg�r yaz�l�m �r�n�d�r. Herhangi bir �cret �demeden kullanabilirsiniz.


neden ihtiya� duyar�z?
-mevcut projeye bir�ey eklemek yada ��karmak i�in projenin kopyas� �zerinden devam edilir. proje geli�tirme bu �ekilde ilerler. Git buradaki kar���kl��� profesyonel �ekilde d�zenlememizi sa�lar.

--
bir proje dizininde eksi ve yeni versiy�nlar aras�ndaki ge�i� daha kolay yap�l�r.
















--------------------------------------------------------------

2.KURULUMU
git download (git-scm.com)

git gui, git bash, git cmd

linux i�in:
-sudo apt-get install git
-git --version (kurulumun ger�ekle�ip ger�ekle�medi�ine bakar�z)

3.GIT YAPILANDIRMASI

git'te kullan�c� tan�mlanmal�d�r.

git config --global user.name "siyarsimsek"
git config --global user.email "siyarsimsek@gmail.com"
git config --global user.name --> kullan�c�y� kontrol edebiliriz.
git config --global user.email --> email'i kontrol edebiliriz.


4.GIT PROJESI OLUSTURMA
i�e yarar komutlar
pwd, ls, cd


masa�st�nde proje_dizini a��ld�.
"git init";
bu komut ile proje_dizini bir git projesi olur. ls -al ile g�r�nt�lenir.(gizli dosya format�ndalar)
bu dosyalar projenin takibi ve kay�t� i�in gereklidir.

--------------
6.COMMIT & LOG

projeleri repository'e ekleme soyalar�.

~/Desktop
mkdir myproject
mv 26.09.2017 ~/Desktop/myproject
cd myproject

-git init
-git add . --> mevcutu git repository'nin ge�ici alan�na ta��r
-git commit -m "ilk commit" -> al�nan versiyonun niteli�ini a��klamal�

-git log --> al�nan t�m versiyonlar� listeler commit'ler dahil kullan�c� vs

-*-*-
git status --> projede de�i�iklikler oldu�unda bunlar� g�sterir. �al��ma dizini ile repository aras�nda fark yoksa herhagi bir�ey g�stemersi beklenmez.
(AYRICA; git status yaz�ld���nda yukar�da ne yapabilece�imize ili�ikin uyar�lar da olur.)
*burada hesap.py dosyas�n� myproject dizininde olu�turdu�umuzda; commit edilecek dosya olmad���n�, ge�i� b�lgesine eklenecek dosya oldu�unu belirtir.

-git add hesap.py (git add . demememizin sebebi t�m dosyalar� bir daha y�kleme ihtiyac� olamamas�d�r.
-git log ile tekrar bak�labilir.


*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
�� AKI�I

3 b�l�mden olu�ur

working directory - staging area - git repository
�al��ma dizini - ge�i� b�lgesi - git deposu
----- add ------> ----- commit ---->

iki dosya olu�turup biri ge�i� di�eri de repository'e g�nderildi�inde ne olur ona bakabiliriz.



*---*--*--*-*-**---**--*-**--*-*-*

de�i�iklikler oldu�unda;
git status ile bunu g�rebiliriz.

-"git diff" ile de�i�iklikler "+" ve ye�il'le belirtilir.
bu commit edilirse de�i�iklikler kay�t edilir.

--dosyalarda bir�eyler silindi�inde
(git diff x -> x ile ilgili de�i�ikliklerdir.)


*-*-
git diff; working directory ile staging area aras�ndaki farklar� verir.

git diff --staged; staging area ile repository aras�ndaki farkalr� verir.

----------------------
dosya silme;
manuel silme
git komutu ile silme

-manuel silindikten sonra add/rm ile staged area'ya iletebilirsiniz.

-git rm carpma.py
-git commit -m "sildik"

(bash �zerinden gidilirse yukar�daki iki komut yeterli. dizine gidip elle silmeye gerek yoktur.)

�imdi i�inde dosyalar olan klas�r� silelim
mkdir sil
touch 1.py 2.txt 3.txt
�nce git deposuna g�ndermek gerek -> git add .
git commit -m "klasor oldu"

�imdi silelim

git rm -r sil/
git commit -m "dosya silindi"

----------------------------------------

dosya isimlendirme ve ta��ma;
git mv 2.txt iki.txt; direk git �zerinde isim de�i�tiririz ekstradan git add . ihtiyac yok.
(ctr+shift+c/ctrl+shift+v)

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
de�i�iklikleri geri alma

�al��ma dizininde olursak;

projede bir dosya i�eri�i de�i�ti diyelim.
git checkout -- index ile bakar�z.
dosyay� silsek dahi ayn� komut ile geri getiririz.

*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
staged area'ya g�nderilen dosyay� getirme;
a.py �zerinde de�i�klik yapt�k;
git add a.py dedik
�u anda de�i�iklik yap�lan a.py staged area'ya geldi.
burada - git reset HEAD a.py dersek dizine gelir
bir �st taraftaki gibi git checkout -- a.py dersek
her�ey eski haline d�ner.

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
versiyon de�i�tirme

v1 > v2 > v3

v3'ten v2'ye ge�i�te v2'nin kopyas� al�nm�� olur.


git checkout (gidilmesi istenilen versiyon hash'i) -- .
(. -> t�m dosylar�n istenilen versiyondak� haline d�n�� istenir.)
kodun ilk 7 hanesi de olur.

--------------------------------------------------------------github
--------------------------------------------------------------

git yaz�l�m� ile entegre olmu� bir depolama alan�d�r. gitlab/

git ba�lant�s�n� o dizine eklemek gerek;
>github
git remote add ba�lant�n�ntakmaad� https://github.com/siyarsimsek/github.git
git remote ---> ba�lant�n�n eklenip eklenmedi�ine bakar
git push -u ba�lant�n�ntakmaad� master

-*-**-
.gitignore -> git taraf�ndan takip edilmesini istemedi�iniz dosyalar�n�z� saklamak i�indir. git'e g�nderip veritaban�n� g�r�nt�lemez.
touch verii
cat >> .gitignore
(hangi dosyalar� saklamak istersek onlar� yazar�z)
git status yaz�l�rsa verii dosyas� g�z�kmez.

�nce gitignore'e yaz�n dosyan�z�

*-*-*
mkdir belge
touch dosya{1..5}.html


*--***-*-**--**-*-*-
branch
master'�n kopyalanmas�d�r asl�nda

git branch yenidal
git branch --all
git checkout yenidal --> yenidal'a ge�tik
git checkout master yenidal --> aradaki farklar� g�sterir
git checkout master -> master'a ge�tik
git merge yenidal --> yenidal ile birle�ti





















Binary file added git yapısı.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added git.pptx
Binary file not shown.