└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Git komutları 2 | 3 | ## Config 4 | 5 | ```git config --global user.email "" ``` 6 | 7 | 8 | ```git config --global user.name "" ``` 9 | 10 | Commitlerimizde görüncek kimliğimizi belirlemek için bu konfigrasyonları yapmalıyız. 11 | Burada yazacağımız mail adresi ve kullanıcı adımızın github veya bitbucket da kullandıklarımız 12 | olmasına dikkat etmeliyiz. 13 | 14 | ## Remote 15 | 16 | Remote uzun linkleri kısaltmamıza ve onları bir isim ile bağdaştırmamızı sağlar. 17 | 18 | ### Yeni remote ekleme 19 | 20 | ```git remote add https://github.com//.git ``` 21 | 22 | Komutunu verdiğimizde kısmına yazdığımız isim ile linki kısaltmış oluruz. 23 | 24 | ### Remoteları listeleme 25 | 26 | ```git remote -v ``` 27 | 28 | ### Bir Remote'nin ismini değiştirme 29 | 30 | ```git remote rename ``` 31 | 32 | Komutunu verdiğimizde remote ismini değiştirmiş oluruz. 33 | 34 | ### Remote silme 35 | 36 | ```git remote rm ``` 37 | 38 | Komutunu verdiğimizde adını yazdığımız remote'yi sileriz. 39 | 40 | ### Bir Remote'nin linkini değiştirme 41 | 42 | ```git remote set-url https://github.com//.git ``` 43 | 44 | Komutu ile remote ların işaret ettiği linki değiştirebiliriz. 45 | 46 | ## İnit 47 | 48 | ### Var olan bir projeyi locale çekme 49 | 50 | ```git clone https://github.com//.git ``` 51 | 52 | Komutunu verdiğimizde projeyi localimize çekmiş oluyoruz ve otomatik olarak "origin" adında 53 | bir remote eklenmiş oluyor. 54 | 55 | ### Localde yeni bir depo oluşturma 56 | 57 | Projenin bulunduğu dizine geçip 58 | 59 | ```git init ``` 60 | 61 | komutunu verdiğimizde localimizde yeni bir depo oluşturmuş oluruz. 62 | 63 | ## Diff 64 | 65 | ### Yapılan değişiklikleri görme 66 | 67 | ```git diff ``` 68 | 69 | Komutu ile commitlenmemiş yapılan değişiklikleri görebiliriz. 70 | 71 | ### Bir dosya üzerinde yapılan değişiklikleri görme 72 | 73 | ```git diff ``` 74 | 75 | Komutu ile bir dosya üzerinde yapılan değişiklikleri görebiliriz. 76 | 77 | ### Belirtilen Commit ile deponun şu an ki hali arasındaki değişiklikleri görme 78 | 79 | ```git diff ``` 80 | 81 | Komutu ile yazdığımız commit ile deponun şu an ki hali arasındaki değişiklikleri görebiliriz. 82 | 83 | ### 2 commit arasındaki değişiklikleri görme 84 | 85 | ```git diff ``` 86 | 87 | Komutu ile 2 commit arasındaki yapılan değişikleri görebiliriz. 88 | 89 | ### Sadece değişiklik yapılan dosya isimlerini görme 90 | 91 | ```git diff --name-only ``` 92 | 93 | Komutu ile sadece değişiklik yapılan dosyaların adını listeyebilirz. 94 | 95 | ### 2 versiyon arasındaki değişiklikleri görme 96 | 97 | ```git diff ``` 98 | 99 | Komutunu vererek 2 versiyon arasındaki değişiklikleri görebiliriz. 100 | 101 | ## Push 102 | 103 | Localdeki commitlenmiş değişikleri uzaktaki depoya göndermemizi sağlar. 104 | 105 | ```git push ``` 106 | 107 | ## Commit 108 | 109 | ### Commit olusturma 110 | 111 | ```git commit -m " ``` 112 | 113 | Komutunu verdiğimizde stagged olan dosyalara mesaj ile bir commit atmış oluruz. 114 | Her commit bir mesaj içermelidir. 115 | 116 | ```git commit -a -m " ``` 117 | 118 | Komutunu verdiğimizde stagged olmayan ama değişiklik yapılan tüm dosyaları 119 | staged yapar ve bir mesaj ile commit atmış olur. 120 | 121 | ### Son commiti düzeltme 122 | 123 | ```git commit --amend -m " ``` 124 | 125 | ### Belirli bir commit değiştirme 126 | 127 | ```git rebase -i HEAD~3 ``` 128 | 129 | Komutu ile son 3 commiti getirdik. 130 | Deşitireceğimiz commitin mesajınının başını pick den reword olarak değiştiriyoruz. 131 | Kaydedip çıkınca commit mesajınını bulunduğu ekran çıkıyor.Yeni commit mesajımızı yazıp 132 | kaydedip çıkıyoruz. 133 | Sonra yapılan değişiklikleri uzaktaki depoya puslamak için: 134 | 135 | ```git push --force ``` 136 | 137 | 138 | ## Tag - Version 139 | 140 | ### Tag olusturma 141 | 142 | ```git tag ``` 143 | 144 | Komutunu verdiğimizde son atılan commit için tag oluşturur ve eğer 145 | pushlarsak onu realese olarak yayınlar. 146 | 147 | ### Oluşturduğumuz tag'i uzaktaki depoya gönderme 148 | 149 | ```git push ``` 150 | 151 | Komutunu verdiğimizde oluşturduğumuz tag uzaktaki depoya pushlanır. 152 | 153 | ### Tagleri listeleme 154 | 155 | ```git tag ``` 156 | 157 | veya 158 | 159 | ```git tag -l ``` 160 | 161 | Komutu ile oluşturdğumuz tagleri görebiliriz. 162 | 163 | ### Localdeki tag'i silme 164 | 165 | ```git tag -d ``` 166 | 167 | Komutu ile localdeki tagı sileriz ama uzak depodaki tag silinmez. 168 | 169 | ### Uzak depodaki tag'i silme 170 | 171 | ```git push origin : ``` 172 | 173 | veya 174 | 175 | ```git push --delete ``` 176 | 177 | Komutlarından biri ile uzak depodaki tagleri silmiş oluruz. 178 | 179 | ### Tag güncelleme 180 | 181 | ```git tag --force ``` 182 | 183 | Komutunu verdiğimizde localimizde tagı güncellemiş oluruz. 184 | 185 | ```git push --force --tags``` 186 | 187 | Komutunu verince de uzaktaki depodaki tagı güncellemiş oluruz. 188 | ## Branch 189 | 190 | ### Yeni branch olusturma 191 | 192 | ```git branch ``` 193 | 194 | Komutunu verdiğimizde localimizde yeni bir branch olusturmuş oluruz. 195 | 196 | ```git checkout -b ``` 197 | 198 | Komutunu verdiğimizde localimizde yeni bir branch oluştururuz ve o branch'a geçiş 199 | yapar. 200 | 201 | ``` 202 | git checkout (Oluşturduğumuz yeni brancha geçmek için) 203 | git push -u 204 | ``` 205 | Komutunu verdiğimizde localimizde yeni oluşturduğumuz branchı uzaktaki repoya göndermiş 206 | oluruz. 207 | 208 | ### Branchlar arası geçiş 209 | 210 | ```git checkout ``` 211 | 212 | Komutunu verdiğimizde var olan branchlar arasında geçiş sağlarız. 213 | 214 | ### Var olan Branchları listeleme 215 | 216 | ```git branch ``` 217 | 218 | Localdeki branchları listeler. 219 | 220 | ```git branch -r``` 221 | 222 | Uzak depodaki branchları listeler. 223 | 224 | ```git branch -a``` 225 | 226 | Hem localdeki hem uzak repodaki branchları listler. 227 | 228 | ### Localdeki Branchı silme 229 | 230 | ```git branch -d ``` 231 | 232 | Komutunu verdiğimizde adını yazdığımız branch bizim localimizden silinir.Fakat uzaktaki repodan 233 | silinmez. 234 | 235 | ### Uzaktaki Branchı silme 236 | 237 | ```git push --delete ``` 238 | 239 | Komutunu verdiğimizde adını yazdığımız branch uzakdaki depodan silinir. 240 | 241 | ### Branch birleştirme 242 | 243 | ```git checkout ``` 244 | 245 | Birleştireceğimiz brancha geçiş yaptık. 246 | 247 | ```git merge ``` 248 | 249 | Komutunu vererek iki branchı birleştirdik. 250 | 251 | ```git push -u ``` 252 | 253 | Birleştirdiğimiz branchları uzakdaki repoya pushladık. 254 | 255 | ### Branch ismi değiştirme 256 | 257 | ```git branch -m ``` 258 | 259 | Komutu ile localde branchımızın adını değiştirdik. 260 | 261 | ```git push : ``` 262 | 263 | ## Reset 264 | 265 | ### Bir dosyada yapılan değişiklikleri geri almak için 266 | 267 | ```git checkout ``` 268 | 269 | 270 | ### Commitlenmemiş ama staged area'ya geçmiş değişiklikleri geri almak için 271 | 272 | ```git reset ``` 273 | 274 | ### Projede belirli bir commite geri dönme 275 | 276 | ```git reset --soft ``` 277 | 278 | Komutunu verdiğimizde id sini yazdığımız commite geri döneriz fakat commitler silinmez. 279 | Sonra bu değişiklikleri uzaktaki depoya pushlamak için: 280 | 281 | ```git push --force``` 282 | 283 | ### Projede belirli bir commite geri dönme ve ondan sonraki commitleri silme 284 | 285 | ```git reset --hard ``` 286 | 287 | Komutunu verdiğimizde id sini yazdığımız commite geri döneriz ve geri döndüğümüz committen sonraki 288 | bütün commitler silinir. 289 | Sonra bu değişiklikleri uzaktaki depoya pushlamak için: 290 | 291 | ```git push --force``` 292 | 293 | ### Projeyi belirli bir taglenmiş zamana geri döndürme 294 | 295 | ```git reset --hard ``` 296 | 297 | Komutunu verdiğimizde projemiz yazdığımız tagdeki haline döner. Verdiğimiz tagden sonraki commitler 298 | silinir. 299 | Sonra bu değişiklikleri uzaktaki depoya pushlamak için: 300 | 301 | ```git push --force``` 302 | 303 | ### Localde yapılan son commiti geri alma 304 | 305 | ```git reset HEAD^``` 306 | 307 | Komutunu verdiğimizde localde son yaptığımız commiti geri alır ama değişiklikleri geri almaz. 308 | 309 | ## Log 310 | 311 | ### Projemizde attığımız commitleri listelemek için 312 | 313 | ```git log``` 314 | 315 | ### Projemizdeki son bir kaç commiti listelemek için 316 | 317 | ```git log -``` 318 | 319 | ### Commitleri id ve mesaj olarak gösterme 320 | 321 | ```git log --pretty=oneline ``` 322 | 323 | ## Pull 324 | 325 | ### Yapılan değişiklikleri locale çekmek 326 | 327 | ```git pull ``` 328 | 329 | Komutunu verdiğimizde adını yazdığımız branchda yapılan değişiklikleri localimize çekeriz. 330 | 331 | Bir başka yolu ise: 332 | 333 | ```git fetch ``` 334 | 335 | Dedikten sonra, 336 | 337 | ```git merge /``` 338 | 339 | --------------------------------------------------------------------------------