-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtum_komutlar
262 lines (242 loc) · 11.7 KB
/
tum_komutlar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
GIT KOMUTLARI
---------------
https://www.youtube.com/watch?v=YEh92Grwi70
--------Kurulum:
1. Adim: Git uygulamasini indir ve kur (https://www.git-scm.com/)
2. Adim: GitHub hesap ve Repository olustur
3. Adim: Ornek bir proje olustur ve once Git e sonra GitHub a yedekle
--------Komutlar
git --version
git init
git config --global user.email "email_adresiniz"
git config --global user.name "isminiz"
git status
git add .
git status
git commit -m "first commit"
git remote add origin https://github.com/techproed2020/Git_...
git push -u origin master
- KULLANICI BILGILERI :
git config --global user.name "kullanıcı adı / rumuz"
git config --global user.email "E-posta"
git config --list # Calisma ve kullanici bilgilerini göster
- YEREL DEPO :
git add <DOSYA(LAR)> # Yeni ve degismis dosyalari guncellenecekler listesine ekle
git add . # Yeni ve degismis dosyalarin tumunu guncellenecekler listesine ekle
git add -u # Silinmis ve degistirilmis dosyalari guncellenecekler listesine ekle
git rm <DOSYA(LAR)> # Calisma agacında ve dizinde dosyalari kaldir
git rm -f # Calisma agacında ve dizinde dosyalari zorla kaldir
git commit -m 'not' # Değisiklikleri depoya kaydet
git commit -a -m "not" # Tum değisiklikleri depoya kaydet
cat .gitignore # Dosyayi depoya ekleme
git rm --cached <DOSYA> # Dosyayi takip etmeyi birak
git diff # Degisiklikler arasindaki farklari goster
git diff --cached # Listeye Eklenen Değişiklikler Arasındaki Farkları Göster
git status # Calisma agacindaki durumu goster
git log # Islem gunlugunu goster
- UZAK DEPO :
git clone <ADRES> # Uzaktaki depoyu klonla
git pull # Depodaki son degisiklikleri al
git push # Yereldeki degisiklikleri uzak depoda uygula (origin master)komutuda eklenebilir
- DAL (BRANCH) KOMUTLARI :
git branch <DAL ADI> # Dal olustur
git branch # Dallari goster
git checkout <DAL ADI> # Calisilan dali degistir
git merge <DAL ADI> # Dallari birlestir
git branch -d <DAL ADI> # Dal sil
- DIGER KOMUTLAR :
git --version # Git versiyon numarasını göster
git --help # Git yardım sayfasını göster
git remote -v # Uzak depo adresini ver
git log --since=<LIMIT> # Iki zaman araligindaki commitleri goster
git shortlog -s # Commit yapanlarin isim ve commit sayilarini goster
git shortlog -e # Commit yapanlarin isim ve E-postalarini goster
git shortlog -n # Commit yapanlari commit sayisina gore sirala
git reset -- hard HEAD # Son yapılan degisiklikleri iptal ederek HEAD geri don
git checkout -- <DOSYA> # Sadece bir dosyayi depodaki haline geri getir
git revert HEAD # Son yapilan commiti geri al
git stash save # Commit yapilmamis degisiklikleri kaydet
git stash pop # Commit yapilmamis degisikliklere geri don
git stash list # Commit yapilmamis degisiklikleri listele
git stash drop # Commit yapilmamis degisiklikleri kaldır
git grep # Mevcut dal icersinde kelime veya ifade arama
gitk # Git gorsellestirme programi
NOTLAR
--------
1- <DOSYA(LAR)> yazili bolumlerde islem yapilan oge veya ogeler yazilacaktir.
2- Git ontanımlı olarak depo isimlerini origin olarak atar.
KAYNAKCA
-----------
[1] http://www.kernel.org/pub/software/scm/git/docs/
[2] http://git-scm.com/book
[3] https://github.com/marmara/Culture/blob/master/Git%20Komutlari
Git komutları
Config
git config --global user.email "<e-mail>"
git config --global user.name "<username>"
Commitlerimizde görüncek kimliğimizi belirlemek için bu konfigrasyonları yapmalıyız. Burada yazacağımız mail adresi ve kullanıcı adımızın github veya bitbucket da kullandıklarımız olmasına dikkat etmeliyiz.
Remote
Remote uzun linkleri kısaltmamıza ve onları bir isim ile bağdaştırmamızı sağlar.
Yeni remote ekleme
git remote add <remote_adı> https://github.com/<username>/<repo_adı>.git
Komutunu verdiğimizde <remote_adı> kısmına yazdığımız isim ile linki kısaltmış oluruz.
Remoteları listeleme
git remote -v
Bir Remote'nin ismini değiştirme
git remote rename <remote_adı> <yeni_remote_adı>
Komutunu verdiğimizde remote ismini değiştirmiş oluruz.
Remote silme
git remote rm <remote_adı>
Komutunu verdiğimizde adını yazdığımız remote'yi sileriz.
Bir Remote'nin linkini değiştirme
git remote set-url <remote_adı> https://github.com/<username>/<repo_adı>.git
Komutu ile remote ların işaret ettiği linki değiştirebiliriz.
İnit
Var olan bir projeyi locale çekme
git clone https://github.com/<username>/<repo_adı>.git
Komutunu verdiğimizde projeyi localimize çekmiş oluyoruz ve otomatik olarak "origin" adında bir remote eklenmiş oluyor.
Localde yeni bir depo oluşturma
Projenin bulunduğu dizine geçip
git init
komutunu verdiğimizde localimizde yeni bir depo oluşturmuş oluruz.
Diff
Yapılan değişiklikleri görme
git diff
Komutu ile commitlenmemiş yapılan değişiklikleri görebiliriz.
Bir dosya üzerinde yapılan değişiklikleri görme
git diff <dosya_adı>
Komutu ile bir dosya üzerinde yapılan değişiklikleri görebiliriz.
Belirtilen Commit ile deponun şu an ki hali arasındaki değişiklikleri görme
git diff <commit_id>
Komutu ile yazdığımız commit ile deponun şu an ki hali arasındaki değişiklikleri görebiliriz.
2 commit arasındaki değişiklikleri görme
git diff <commit_id> <commit_id>
Komutu ile 2 commit arasındaki yapılan değişikleri görebiliriz.
Sadece değişiklik yapılan dosya isimlerini görme
git diff --name-only
Komutu ile sadece değişiklik yapılan dosyaların adını listeyebilirz.
2 versiyon arasındaki değişiklikleri görme
git diff <tag_adı> <tag_adı>
Komutunu vererek 2 versiyon arasındaki değişiklikleri görebiliriz.
Push
Localdeki commitlenmiş değişikleri uzaktaki depoya göndermemizi sağlar.
git push <remote_adı> <branch_adı>
Commit
Commit olusturma
git commit -m "<commit_mesajı>
Komutunu verdiğimizde stagged olan dosyalara mesaj ile bir commit atmış oluruz. Her commit bir mesaj içermelidir.
git commit -a -m "<commit_mesajı>
Komutunu verdiğimizde stagged olmayan ama değişiklik yapılan tüm dosyaları staged yapar ve bir mesaj ile commit atmış olur.
Son commiti düzeltme
git commit --amend -m "<commit_mesajı>
Belirli bir commit değiştirme
git rebase -i HEAD~3
Komutu ile son 3 commiti getirdik. Deşitireceğimiz commitin mesajınının başını pick den reword olarak değiştiriyoruz. Kaydedip çıkınca commit mesajınını bulunduğu ekran çıkıyor.Yeni commit mesajımızı yazıp kaydedip çıkıyoruz. Sonra yapılan değişiklikleri uzaktaki depoya puslamak için:
git push --force <remote> <branch_adı>
Tag - Version
Tag olusturma
git tag <tag>
Komutunu verdiğimizde son atılan commit için tag oluşturur ve eğer pushlarsak onu realese olarak yayınlar.
Oluşturduğumuz tag'i uzaktaki depoya gönderme
git push <remote_adı> <tag>
Komutunu verdiğimizde oluşturduğumuz tag uzaktaki depoya pushlanır.
Tagleri listeleme
git tag
veya
git tag -l
Komutu ile oluşturdğumuz tagleri görebiliriz.
Localdeki tag'i silme
git tag -d <tag_adı>
Komutu ile localdeki tagı sileriz ama uzak depodaki tag silinmez.
Uzak depodaki tag'i silme
git push origin :<tag_adı>
veya
git push --delete <remote_adı> <tag_adı>
Komutlarından biri ile uzak depodaki tagleri silmiş oluruz.
Tag güncelleme
git tag --force <tag_adı> <commit_id>
Komutunu verdiğimizde localimizde tagı güncellemiş oluruz.
git push --force --tags
Komutunu verince de uzaktaki depodaki tagı güncellemiş oluruz.
Branch
Yeni branch olusturma
git branch <branch_adı>
Komutunu verdiğimizde localimizde yeni bir branch olusturmuş oluruz.
git checkout -b <branch_adı>
Komutunu verdiğimizde localimizde yeni bir branch oluştururuz ve o branch'a geçiş yapar.
git checkout <branch_adı> (Oluşturduğumuz yeni brancha geçmek için)
git push -u <remote> <branch_adı>
Komutunu verdiğimizde localimizde yeni oluşturduğumuz branchı uzaktaki repoya göndermiş oluruz.
Branchlar arası geçiş
git checkout <branch_adı>
Komutunu verdiğimizde var olan branchlar arasında geçiş sağlarız.
Var olan Branchları listeleme
git branch
Localdeki branchları listeler.
git branch -r
Uzak depodaki branchları listeler.
git branch -a
Hem localdeki hem uzak repodaki branchları listler.
Localdeki Branchı silme
git branch -d <branch_adı>
Komutunu verdiğimizde adını yazdığımız branch bizim localimizden silinir.Fakat uzaktaki repodan silinmez.
Uzaktaki Branchı silme
git push <remote> --delete <branch_adı>
Komutunu verdiğimizde adını yazdığımız branch uzakdaki depodan silinir.
Branch birleştirme
git checkout <birleştirilecek_branch_adı>
Birleştireceğimiz brancha geçiş yaptık.
git merge <birleşecek_branch_adı>
Komutunu vererek iki branchı birleştirdik.
git push -u <remote> <branch_adı>
Birleştirdiğimiz branchları uzakdaki repoya pushladık.
Branch ismi değiştirme
git branch -m <branch_adı> <yeni_branch_adı>
Komutu ile localde branchımızın adını değiştirdik.
git push <remote> :<eski_branch_adı> <yeni_branch_adı>
Reset
Bir dosyada yapılan değişiklikleri geri almak için
git checkout <dosya_adı>
Commitlenmemiş ama staged area'ya geçmiş değişiklikleri geri almak için
git reset <dosya_adı>
Projede belirli bir commite geri dönme
git reset --soft <commit_id>
Komutunu verdiğimizde id sini yazdığımız commite geri döneriz fakat commitler silinmez. Sonra bu değişiklikleri uzaktaki depoya pushlamak için:
git push <remote> <branch_adı> --force
Projede belirli bir commite geri dönme ve ondan sonraki commitleri silme
git reset --hard <commit_id>
Komutunu verdiğimizde id sini yazdığımız commite geri döneriz ve geri döndüğümüz committen sonraki bütün commitler silinir. Sonra bu değişiklikleri uzaktaki depoya pushlamak için:
git push <remote> <branch_adı> --force
Projeyi belirli bir taglenmiş zamana geri döndürme
git reset --hard <tag_adı>
Komutunu verdiğimizde projemiz yazdığımız tagdeki haline döner. Verdiğimiz tagden sonraki commitler silinir. Sonra bu değişiklikleri uzaktaki depoya pushlamak için:
git push <remote> <branch_adı> --force
Localde yapılan son commiti geri alma
git reset HEAD^
Komutunu verdiğimizde localde son yaptığımız commiti geri alır ama değişiklikleri geri almaz.
Log
Projemizde attığımız commitleri listelemek için
git log
Projemizdeki son bir kaç commiti listelemek için
git log -<kac_adet>
Commitleri id ve mesaj olarak gösterme
git log --pretty=oneline
Pull
Yapılan değişiklikleri locale çekmek
git pull <remote> <branch_adı>
Komutunu verdiğimizde adını yazdığımız branchda yapılan değişiklikleri localimize çekeriz.
Bir başka yolu ise:
git fetch <remote>
Dedikten sonra,
git merge <remote>/<branch>
Mirroring
Fork edilen repoyu gizli hale getirme
git clone --bare https://github.com/exampleuser/old-repository.git
Komutu ile eski repoyu localimize çekiyoruz.
cd old-repository.git
Eski reponun olduğu dizine geçiş yaparız.
Daha sonrasında kendi github sayfamızda yeni bir repo açarız (Örnek Repo ismi new-repository)
git push --mirror https://github.com/exampleuser/new-repository.git
Yapılan değişiklikleri bu yeni repoya pushlarız.
cd .. rm -rf old-repository.git
Eski repoya ait dosya kalıntılarını silip yeni repo üzerinden commitlerimize devam edebiliriz