Ярлыки

.htaccess (4) тестирование (8) шаблоны проектирования (3) css (5) Debian (6) docker (2) Doctrine2 (6) Git (6) html (4) java (6) javascript (13) jquery (11) LFS (3) linux (23) mac os (4) mod_rewrite (2) MSSQL (4) MySQL (18) ORM Doctrine (17) patterns (3) PDO (3) perl (7) PHP (64) PHPUnit (8) Python (15) SEO (2) Silex (1) SimpleXML (1) SQL (14) ssh (4) Ubuntu (24) Yii1 (1) Zend Framework (19) ZendFramework2 (8)

пятница, 24 февраля 2012 г.

Git. Основы.

Работаем в одиночку


В каталоге проекта выполняем создаем репозиторий
git init
Добавляем файлы проекта
git add .
Делаем коммит (всегда предварительно надо добавлять отредактированные файлы)
git commit -m "First Commit"
Потребовался новый функционал - создаем ветку
git branch new-feature
Переключаемся на нее
git checkout new-feature
Вносим изменения и смотрим на них, индексируем, делаем коммит
git status
git add .
git commit -m "New feature added"
Делаем слияние веток, переключаемся на master
git checkout master
git merge new-feature
Если требуется внести небольшое изменение, можно не создавать ветку:
git stash
Вносим изменения и применяем их
git stash apply

Работа с удаленным репозиторием


Копируем репозиторий
git clone git://github.com/username/project.git master
Команда создала у вас репозитарий, и внесла туда копию ветки master проекта project.
Создаем новую ветку, вносим изменения в код
git branch new-feature
edit README
git add .git 
commit -m "Added a super feature"
Переходим в основную ветку, заберем последние изменения в проекте, и попробуем добавить новую фишку в проект:
git checkout master
git pull
git merge new-feature
Если есть конфликты - решаем, если нет, то сразу выгружаем
git push

Как сделать push в серверный репозиторий с файлами.

git config receive.denyCurrentBranch ignore
Также пишем в .git/hooks/post-receive
#!/bin/bash
cd ..
env -u GIT_DIR git reset --hard master
Помечаем как исполняемый
chmod a+x .git/hooks/post-receive

Копирование ветки удаленного репозитория

git checkout -b experimental origin/experimental

Создание пустой ветки без коммитов

git checkout --orphan mybranch

Комментариев нет:

Отправить комментарий