Bulutfon Projeleri (Yazılım Entegrasyon) ve Cloud IP Santral Çözümleri

Profesyonel Sanal Santral Çözümleri Bilgi ve Destek
Bulutfon Projeleri ve Cloud IP Santral hakkında bilgi almak ya da kurumsal yazılım, proje geliştirme hizmetleri için 

0850 302 66 42 veya web@tuva.me adresinden ulaşabilirsiniz.

Hemen 850’li Numara Al

Ofisiniz Cebinizde
Bulutfon cep uygulaması ile cep telefonunuza yüklediğiniz dahili numaranız ile her zaman ofisinizdeymiş gibi görüşebilirsiniz. Hem de ofis numaranızdan

Dahililer arası ücretsiz görüşme
Bulutfon cep uygulaması ile tüm çalışanlarınız birbirleri arasında ücretsiz görüşebilirler.

Yetkilendirilmiş Dahili
İsterseniz tüm çalışanlarınızın sadece kendi arasında görüşmesini, Dışarı arama yapmamalarını sağlayabilirsiniz.

%70 Ucuza Konuşabilirsiniz.
VOIP Teknolojisi internet üzerinden görüştürdüğü için ve numaralarınıza sabit ücret ödemediğiniz için mevcut analog santralinizden %70 e varan ucuzlukta konuşabilirsiniz.

Santralinizi hemen kullanmaya başlayın.

Bulutfon Ön bilgi ve Destek
Bulutfon Projeleri ve Cloud IP Santral hakkında bilgi almak ya da kurumsal satış ve destek hizmetleri için 0850 302 66 42 veya web@tuva.me adresinden ulaşabilirsiniz.

Git Notları

# —————————————————————————–
# GIT NOTLARI
# —————————————————————————–

# Paketlerin yüklenmesi
aptitude install git

# kullanıcı bilgileri
git config –global user.name “Tuva Ergun”
git config –global user.email “web@tuva.me”
git config –list
cat ~/.gitconfig

# ~/.gitconfig
[user]
name = Tuva Ergun
email = web@tuva.me
[push]
default = simple
[color]
branch = auto
diff = auto
status = auto

# Ana depo oluşturmak
mkdir repositories
cd repositories
mkdir repo1.git
cd repo1.git
git init –bare

# Yerel depoyu, ana depodan klonlayarak oluşturmak
– Aynı makinedelerse
mkdir repositories
cd repositories
git clone –no-hardlinks ~/repositories/repo1.git

– SSH ile bağlanılacaksa
mkdir repositories
cd repositories
git clone ssh://kullanici@sunucu.adresi:22/~/repositories/repo1.git

# Yerel depo oluşturmak (ana depo kullanılmayacak)
mkdir repositories
cd repositories
mkdir repo1.git
cd repo1.git
git init

# Yerel depoda yapılabilecek ilk işlemler (depo henüz boş)
cd repositories/repo1.git
vim .gitignore
(sürüm kontrolü yapılmayacak dosyalar/klasörler yazılır)

(Dosyalar ve klasörler oluşturulur)
git add -A
git commit -m “depo ilk hal”

# Ana depo varsa, ana depo güncellenir
git push origin master

# git add (calisma alanindaki degisiklikleri indekse ekleme)
git add file(s) # belirtilen dosyalari eklemek
git add . # degisen ve yeni eklenen dosyalari eklemek
git add -u # degisen ve silinen dosyalari eklemek
git add -A # degisen, yeni eklenen ve silinen dosyalari eklemek

# git commit (indeks durumunu, yerel depoya kaydetmek)
git commit -m “aciklama notu”

# git push (yerel depodaki değişiklikleri, ana depoya aktarmak)
git push

# git pull (ana deponun son halini, çalışma alanına almak)
git pull

# git diff (farkları görmek)
– calisma alani ve indeks arasindaki farklar
git diff
– calisma alani ve yerel depo arasindaki farklar
git diff HEAD
– merge’den etkilenen dosyaların listesi
git diff –name-status

# git status (calisma alaninin indeks ve yerel depoya gore durumu)
git status

# git log (commit loglarini gosterme)
git log

# Çalışma alanında yapılan değişikliği geri almak
– henüz add yapılmamışsa…
git checkout file(s) # indeksteki kopyaya donme
git checkout . # indeksteki kopyaya donme

– add yapılmışsa, dolayısı ile indeksteki kopya da değişmiş…
git checkout HEAD file(s) # yerel depodaki kopyaya donme
git checkout HEAD . # yerel depodaki kopyaya donme

# git reset (yapılan commit’i iptal etmek)
git reset –hard HEAD~1 # 1 commit geri dönülür.
# indeks eski haline gelir.
# calisma alani eski haline gelir.

git reset HEAD~1 # 1 commit geri dönülür.
# indeks eski haline gelir.
# calisma alanindaki degisiklikler korunur.

git reset –soft HEAD~1 # 1 commit geri dönülür.
# indeksteki degisiklikler korunur.
# calisma alanindaki degisiklikler korunur.

# git revert (yapılan commit’i iptal eden patch ekleme)
git revert

# eski surumlere ulaşmak
git log file1
git show 0323e5918144ec29a069c7ab23cac40ed921d31d:file1
git show HEAD:file1
git show HEAD~2:file1

git tag v0.1 0323e5918144ec29a069c7ab23cac40ed921d31d
git show v0.1:file1
git show v0.1:file2

vim file1
git reset file1
rm file1
git checkout -f file1

# Güncelleme çakışmalarını çözmek.
– push aşamasında aynı anda güncellenmiş dosyaların listesi yer alır.
– Dosya içinde eklenen ve çıkan satırlar işaretlidir. Bu kısımlar
düzeltilir.
– Düzeltilmiş değişklikler commit edilir.
git add .
git commit -m “merged”
git push

# branch ile çalışma
– branch oluşturma
git branch test

– branch listesi
git branch

– branch değiştirme
git checkout test
git checkout master

– branch merge
git checkout test
git commit -a
git checkout master
git commit -a
git merge test

– branch silme
git branch -d test

# depoyu klonlamak (klasör henuz yok, emc2-dev adıyla oluşacak)
git clone git://git.linuxcnc.org/git/emc2.git emc2-dev

# henüz yayınlanmaya hazır değişikliklerimiz varken depodan güncelleme
git stash save
git pull
git stash apply

# Birden fazla remote depo ile çalışmak
– remote listesi
git remote -v

– remote ekleme
git remote add github git@github.com:tuvaergun/www_tuva_m.me.git

– remote silme
git remote rm github

– remote push
git push origin master
git push github master

# —————————————————————————–
# GITOLITE SUNUCU
# —————————————————————————–

# Paketlerin kurulumu
aptitude install gitolite
dpkg-reconfigure gitolite

# Gitolite home klasörünü değiştirme
normalde /var/lib/gitolite kullanılıyor. Gerekmiyorsa değiştirme.

mkdir /home/gitolite
chown gitolite: /home/gitolite
vim /etc/passwd
gitolite home klasörü -> /home/gitolite

# Gitolite kullanıcısı için ssh erişim izni.
vim /etc/ssh/sshd_config
AllowUsers tuva gitolite

# Gitolite admin kullanıcısının public anahtarı
cp tuva.pub /tmp/
chmod a+r /tmp/tuva.pub
su -l gitolite
gl-setup /tmp/tuva.pub

# —————————————————————————–
# GITOLIE CLIENT (ADMIN)
# —————————————————————————–
Bu işlemler, admin kullanıcısının makinesinde yapılır.

# Anahtarı yükleme
ssh-add .ssh/tuva

# Gitolite admin deposunu klonlama (SSH 22. port ile)
git clone ssh://gitolite@10.10.10.10:22/gitolite-admin
cd gitolite-admin
git pull

# Kullanıcı ve depo ekleme
Kullanıcının public anahtari alınır ve kullanıcının adı ile kaydedilir.
depo1 adlı depoda kullanici1’in yazma/okuma, kullanici2’nin sadece okuma hakkı
olacaksa:

cp kullanici1.pub gitolite-admin/keydir/
cp kullanici2.pub gitolite-admin/keydir/
vim gitolite-admin/conf/gitolite.conf
repo depo1
RW+ = kullanici1
R = kullanici2

git status
git add -A
git commit -m ‘depo1, kullanici1 ve kullanici2 eklendi’
git push

# —————————————————————————–
# GITOLIE CLIENT (USER)
# —————————————————————————–
Bu işlemler, Gitolite depolarını kullanacak kullanıcıların makinelerinde
yapılır.

# Anahtarı yükleme
ssh-add .ssh/kullanici1

# Depo boşken ilk kullanıldığında
git clone ssh://gitolite@10.10.10.10:22/depo1
cd depo1
touch OKUBENI
git add -A
git commit -m “depo1 olusturuldu”
git push origin master

# Depoyu klonlama
git clone ssh://gitolite@10.10.10.10:22/depo1
cd depo1
git pull

# Depodan son değişiklikleri alma
git pull

# Yapılan değişikliklerin depoya yüklenmesi
git status # degisen dosyalar
git diff # farkliliklari gormek icin
git add -A # commit listesine ekleme
git commit -m ‘aciklama’ # yerel depoyu guncelleme
git push # ana depoyu guncelleme

# Yapılan değişiklikleri yerel depomuzda saklayıp ana depodaki son hale dönme
git stash save
git stash list
git stash drop stash@{0} # Sakladığımız değişikliği silme
git stash clear # Sakladığımız bütün değişiklikleri silme
git stash apply stash@{0} # Sakladığımız değişikliği tekrardan uygulama
git stash pop # Sakladığımız son değişikliği uygulama

# —————————————————————————–
# GITWEB
# —————————————————————————–
Sadece parolayı bilen kullanıcılar gitweb arayüzünü kullanabilecek.

# Paketlerin kurulumu
aptitude install gitweb

# Ayarlar
– /etc/gitweb.conf
#$projectroot = “/var/cache/git”;
$projectroot = “/home/gitolite/repositories”;

– www-data kullanıcısı gitolite grubuna
adduser www-data gitolite

– Group için gitolite depolarını okuma hakkı
/home/gitolite/.gitolite.rc
$REPO_UMASK = 0027;

– Gitweb için .htaccess düzenleme izni
/etc/apache2/conf.d/gitweb
AllowOverride AuthConfig Options

– .htaccess dosyasının oluşturulması
/usr/share/gitweb/.htaccess
AuthUserFile /home/gitolite/htaccess/htpasswd
AuthType Basic
AuthName “…”
Require valid-user

– htpasswd dosyasının oluşturulması
su -l gitolite
mkdir /home/gitolite/htaccess
cd /home/gitolite/htaccess
htpasswd -sc htpasswd kullanici1 # ilk kullanici icin
htpasswd -s htpasswd kullanici2
chmod 750 /home/gitolite/htaccess
chmod 640 /home/gitolite/htaccess/htpasswd

# —————————————————————————–
# KAYNAKLAR
# —————————————————————————–
http://www.kernel.org/pub/software/scm/git/docs/user-manual.html
https://we.riseup.net/debian/git-development-howto
http://sitaramc.github.com/gitolite/doc/1-INSTALL.html (gitolite kurulum)
http://sitaramc.github.com/gitolite/doc/2-admin.html (gitolite yönetim)
http://marklodato.github.com/visual-git-guide/index-en.html
http://gitready.com/

Ben

Ofiste proje geliştirmek için kullanılan cihazların tümünün maliyeti, patronun arabasının 1/4′ünden bile az olduğunu hatırladıkça ben…

tumblr_mitx507PcC1s373hwo1_500


1 yıldan fazladır üstünde çalıştığım projede köklü değişiklik istenince ben…

tumblr_mk481zmZd51s373hwo1_400


2 aya yakındır zamansızlıktan bakmadığım projeye dönmemi istediklerinde ben…

tumblr_mh3qd65zXv1s373hwo1_400