Akademisyenler öncülüğünde matematik/fizik/bilgisayar bilimleri soru cevap platformu
3 beğenilme 0 beğenilmeme
697 kez görüntülendi
Anladığım kadarıyla git komutu ile versiyon kontrolü yapabiliyor, farklı bilgisayarlardan girerek projeme devam edebiliyor ya da başkalarıyla ortaklaşa projeler geliştirebiliyorum.

Benim birden fazla cihazım var. Bunlardan bir tanesi de okuldaki ofis bilgisayarı. Şu ana kadar sftp ve rsync komutlarını denedim ofis bilgisayarında tex dosyalarımı derli toplu tutmak, değişik cihazlardan çalışmaya devam etmek için. Şimdi bir de git'i deneyeyim diyorum. Ama okuduğumdan çok bir şey anlamıyorum bu aralar. Kolaya kaçıp buraya sormaya karar verdim.

Okuldaki bilgisayarda /Users/ozgur/deneme patikasına sahip bir klasörde deneme.tex ve deneme.pdf vs var. Bunları ssh ile evdeki bilgisayara alıp, evde çalışmaya devam etmek istiyorum. Bunu git kullanarak yapmak için ve sonra kaydetmek için bana gereken kod nedir?
Veri Bilimi kategorisinde (2.5k puan) tarafından  | 697 kez görüntülendi

belki bu isinizi gorur

git clone ssh://git@example.org/~/example.git

(ssh nin kurulu oldugunu ve ssh-key lerin yaratilmis oldugunu varsayiyiorum)

ilk basta bir git repository si yaratmaniz gerekiyor. Bunun icin

git init --bare <proje_adi>.git

komutu ile bos bir repository yaratabiliriz. Su an repository bos

cd <proje_adi>.git && cp <istediginiz_dosyalar> ./ && git add * && git commit && git push origin master

Komutlari ile istediginiz dosyalari reposirtory ye kopyalayip ekleyebilirsiniz.

Su an baska bir makina kullanarak buradaki dosyalara erisebilirsiniz.

git clone <kullanici_adi>@<server>:<dosyanin_adresi> <proje_adi>.git

komutu ile ulasabilirsiniz dosyalara. <kullanici_adi>  ndan once ssh:// yazmaniz gerekebilir

Baska bilgisayardan repository ye birseyler eklemek icin, once repository yi clone lamaniz gerekir. Daha sonra degisiklikleri yapip. Sirasiyla

git add *

git commit -m "<degisikliklik mesaji>"

git push origin branch-adi

Tek basiniza calisiyor ve dallandirma budaklandirma yapmiyorsaniz herseyi master "branch" ine yukleyebilirsiniz. Grup olarak calisirken veya birden fazla farkli versyon icin "branch" sistemini kullanabilirsiniz.

Yeni bir branch yaratmak icin

git checkout -b <branch-adi>

master branchine geri donmek icin

git checkout master

bir branchi silmek icin

git branch -d <branch-adi>

Yeni olusturdugumuz branchi digerlerine gorunur kilmak icin  repository ye branchi push lamaniz gerekmekte. Bunu

git push origin <branch-adi>

ile yapabilirsiniz.

 

Bilgisayarinizda repository yi yenilemek icin

git pull

komutunu kullanabilirsiniz. Boylece evde yaptiginiz degisiklikler okula gelince de elinizde durur.

Bir branchi suan bulundugunuz branch ile birlestirmek icin

git merge <branch-adi>

kullanabilirsiniz. Genelde git bu durumda branchteki farkliliklar nedeniyle yakinir. Git in size gosterdigi dosyalari elnizle duzeltip.

git add <dosya_adi>

komutuyla hatalari cozup birlestirebilirsiniz projenizin degisik dallarini.

git diff <kaynak_branch> <hedef_branch> size aradaki farkliliklari gosterir mergeden once.

 

Biraz yari ingilizce yari turkce oldu ama umarim isinize yarar. Isinizi gorurse cevap olarak ekleriz.

Bence bu oldukca cevap. Sadece bu cevapla ilgili olarak baska bir soru (ssh key nasil uretilir, nasil kullanilir gibi) da olsa yeter.
Tabii gitin bir suru inceligi var da bunlarin hepsini bilmek, yazmak baya is.

1 cevap

1 beğenilme 0 beğenilmeme
En İyi Cevap

Ilk basta bir git repository si yaratmaniz gerekiyor. Bunun icin

git init --bare <proje_adi>.git

komutu ile bos bir repository yaratabiliriz. Su an repository bos

cd <proje_adi>.git && cp <istediginiz_dosyalar> ./ && git add * && git commit && git push origin master

Komutlari ile istediginiz dosyalari reposirtory ye kopyalayip ekleyebilirsiniz.

Su an baska bir makina kullanarak buradaki dosyalara erisebilirsiniz.

git clone <kullanici_adi>@<server>:<dosyanin_adresi> <proje_adi>.git

komutu ile ulasabilirsiniz dosyalara. <kullanici_adi>  ndan once ssh:// yazmaniz gerekebilir

Baska bilgisayardan repository ye birseyler eklemek icin, once repository yi clone lamaniz gerekir. Daha sonra degisiklikleri yapip. Sirasiyla

git add *

git commit -m "<degisikliklik mesaji>"

git push origin branch-adi

Tek basiniza calisiyor ve dallandirma budaklandirma yapmiyorsaniz herseyi master "branch" ine yukleyebilirsiniz. Grup olarak calisirken veya birden fazla farkli versyon icin "branch" sistemini kullanabilirsiniz.

Yeni bir branch yaratmak icin

git checkout -b <branch-adi>

master branchine geri donmek icin

git checkout master

bir branchi silmek icin

git branch -d <branch-adi>

Yeni olusturdugumuz branchi digerlerine gorunur kilmak icin  repository ye branchi push lamaniz gerekmekte. Bunu

git push origin <branch-adi>

ile yapabilirsiniz.

 

Bilgisayarinizda repository yi yenilemek icin

git pull

komutunu kullanabilirsiniz. Boylece evde yaptiginiz degisiklikler okula gelince de elinizde durur.

Bir branchi suan bulundugunuz branch ile birlestirmek icin

git merge <branch-adi>

kullanabilirsiniz. Genelde git bu durumda branchteki farkliliklar nedeniyle yakinir. Git in size gosterdigi dosyalari elnizle duzeltip.

git add <dosya_adi>

komutuyla hatalari cozup birlestirebilirsiniz projenizin degisik dallarini.

git diff <kaynak_branch> <hedef_branch>

size aradaki farkliliklari gosterir mergeden once.

 

Biraz yari ingilizce yari turkce oldu ama umarim isinize yarar.

(1.6k puan) tarafından 
tarafından seçilmiş
Umarım işime yarar :) Yenidoğan bebek sağ olsun, bilgisayarı açmayalım haftalar oldu. Telefondan termux ile deneyeyim dedim geçen gün ama uyuyakaldım.
20,284 soru
21,824 cevap
73,509 yorum
2,574,275 kullanıcı