Kategori arşivi: Git

git workflow ubuntu www

on ubuntu:

install git

create repo (home git repos)

make .git repo and sub files’ group and owner -> git

in repo hook folder, create “post-receive” and paste this:

#!/bin/sh
git –work-tree=/var/www/[cloned-git-folder] –git-dir=/home/git/repos/[repo-name].git checkout -f

(above work-tree and git-dir commands starts with two – sign)

clone git in var/www

make cloned www folder group -> www-data, owner -> git

connect ssh repo with git user because remote git repo post-receive file’s owner and group is git user


in usr/local/bin create command file like “pull-reponame”

paste this:

#!/bin/sh
cd /var/www/[cloned-repo-folder]
git stash && git pull

you can make owner any user and group git

add execute permission to git group

add any user to git group to allow running this command shortcut

Git Server Oluşturma, Repository Oluşturma ve Paylaştırma

Server Oluşturma

Bu adımda sadece sunucuya git ve git user kuruyoruz. Ayrıca git repolarını kullanma yetkisi vermek istediğimiz kullanıcıları git grubuna ekliyoruz.

  1. sudo su
  2. apt-get install git
  3. useradd git -m
  4. passwd git
  5. sudo usermod -G git -a kullaniciadi

Paylaştırılmış Git Repository Oluşturma

Bu adımda birden fazla server kullanıcısının okuma/yazma izni alabileceği git repository oluşturuyoruz.

  1. su git
    (git kullanıcısına geçiyoruz)
  2. cd /home/git
  3. mkdir -p repos/project1.git
  4. cd repos/project1.git
  5. git init --bare --shared=group

Paylaştırılmış Git Repository Klonlama (Windows)

  1. Öncelikle private key dosyamızı windows user klasörü altında oluşturulacak .ssh klasörü altına id_rsa adıyla kopyalıyoruz.
  2. Git bash ile şu komut çalıştırılabilir:
    git clone ssh://kullanici@sunucuadresi.com:[port_no]/home/git/repos/project1.git
    veya Jetbrains vb yazılımlar ile:
    ssh://kullanici@sunucuadresi.com:[port_no]/home/git/repos/project1.git
    klon adresi kullanılabilir.

Git Tips

Config: Basic / Default

git config --global user.name "Your Name"
git config --global user.email "Your Email"
git config --global color.ui true
git config --global apply.whitespace nowarn

Github: Repo oluşturmak

  • Önce github‘da repo oluştur
  • Daha sonra ilgili git url’ini al. git@github.com:vigo/Sample_Project.git
mkdir my_local_branch
cd my_local_branch/
git init
touch readme.md
git add readme.md
git commit -m "init"
git remote add origin git@github.com:vigo/Sample_Project.git
git push origin master

Eğer daha önceden local’de bulunan bir repoyu daha sonra github‘a taşımak istersen:

cd existing_git_repo/
git remote add origin git@github.com:vigo/Sample_Project.git
git push origin master

Kontrol

git remote -v                 # fetch ve push url'lerini gör
git remote show origin        # detaylı bilgi al

Track Edilmeyen Dosyaları Silme

git clean  -d  -fx ""