Записки разработчика

30.01.2016

Работа с git

Если с Mercurial я более менее привык работать, то вынужденные встречи по работе с git повергали меня в уныние. Здесь я немного опишу свой опыт и оставлю шпаргалки, которые составил для себя в процессе изучения/использования.

Сразу скажу, что пользуюсь сервисом репозитариев BitBucket. Он нравится мне тем, что там можно создавать приватные репозитарии — а так как проекты в основном коммерческие, то эта возможность как нельзя кстати.

В общем, схема работы у меня такая.

1. Создать репозитарий на BitBacket.
2. Выполнить команды :

mkdir /path/to/your/project
cd /path/to/your/project
git init
git remote add origin git@bitbucket.org:username/project-name.git

Где username — ваше имя пользователя, project-name — название проекта на сервере репов. В принципе эти команды я скопировал с BitBacket — он приводит эти команды для начала работы.

3. Если вы не настраивали конфигурационные данные, настроим:

git config --global user.name "Dmitriy"
git config --global user.email mail@mailserver.ru

параметр global указывает на то что эти настройки git сохранит глобально для этого пользователя. К примеру на локальной машине у вас много проектов, часто используете git — можно настройки задать глобально, чтобы не вводить их на каждом новом проекте.

4. Настроим .gitignore

Этот файл говорит git-у, что полезет в него, а что — нет. Допустим у нас в проекте есть папки с блобами. Пишу в этом файле такую строку:

blobs/

5. Добавим файлы проекта:

git add .

6. Ветки master до первого коммита у нас нет — поэтому сделаем коммит:

git commit -a -m "init"

Здесь ключ m и строка в кавычках даёт название коммиту.

7. Теперь всё нужно отправить в репозитарий:

git push origin master

В этом месте может возникнуть ошибка:

login@server:~/public_html$ git push origin master
Counting objects: 2265, done.
Delta compression using up to 40 threads.
fatal: unable to create thread: Resource temporarily unavailable
error: failed to push some refs to 'git@bitbucket.org:username/project-name.git'

Небольшой гуглинг привел меня на StackOverflow, выполним рекомендации:

login@server:~/public_html$ git config --global pack.windowMemory "100m"
login@server:~/public_html$ git config --global pack.SizeLimit "100m"
login@server:~/public_html$ git config --global pack.threads "1"

после этих настроек всё отлично запушилось.

В следующей части расскажу о ветках и зачем они нужны.

admin @ 02:13


29.01.2016

как в Linux узнать размер директорий первого уровня

Чтобы узнать сколько места занимают директории, вместе с поддиректориями, в текущей директории введите:

find . -maxdepth 1 -type d -exec du -hs {} \;
admin @ 22:51


 

Powered by WordPress