Основы работы с git описан на странице http://rogerdudler.github.io/git-guide/
- устанавливаем консольное приложение git в зависимости от отперационной системы
- создаём новую директорию, входим в неё и выполняем в ней
git init
чтобы создать новый репозиторий git - создаём рабочую копию локального репозитория, выполнив следующую команду:
git clone https://github.com/user/project
если клонировать проект не удаётся и выдаётся ошибка:
fatal index-pack failed git clone
можно попробовать выполнить команду:
git config --global core.compression -1
которая установит гитовский глобальный конфиг-файл в $HOME/.gitconfig,
Источник здесь.
Или можно попробовать выполнить команду:
git config pack.windowMemory 10m
git config pack.packSizeLimit 20m
Источник здесь. - Поток работ
Наш локальный репозиторий состоит из трёх деревьев, поддерживаемых гитом. Первое - это наша рабочая директория, которая содержит актуальные файлы, второе - это Index, которая работает как Staging area, и наконец HEAD, которая указывает на последний коммит, который мы сделали.
Подробный русскоязычный блог о философии и принципах гита находится здесь. В частности, на мой взгляд, там хорошо описано, какие директории должны быть созданы и какую функцию они выполняют.
git clone https://github.com/user/project - создаёт локальный репозиторий.
Рабочая директория - это папка, файлы из которой мы затем будем редактировать, и после чего добавляем их слепки в область подготовленных файлов и делаем коммит (т.е. берём подготовленные файлы из индекса и помещаем их в локальный репозиторий на постоянное хранение.) - add & commit
мы можем предложить изменения (добавить их к Index) используя:
git add <filename>
git add *
Это первый шаг в базовом потоке работ гита. Чтобы по-настоящему закомитить эти изменения, используем:
git commit -m "Commit message"
Теперь файл закомичен в HEAD, но пока не в удалённый репозиторий. - Проталкивание изменений
Теперь наши изменения в HEAD нашей локальной рабочей копии. Чтобы послать эти изменения в наш удалённый репозиторий, выполним:
git push origin master
master можно заменить на некую ветку, куда мы хотим отправить изменения. - Если при попытке сделать push на удалённый сервер мы получаем ошибку:
Updates were rejected because the tip of your current branch is behind its remote counterpart. Integrate the remote changes (e.g. 'git pull ...') before pushing again.
Значит один из наших партнёров до нас уже внёс изменения в удалённый репозиторий, и нам надо забрать эти изменения и сделать слияние с ними:
git pull
git merge origin/master
в последней команде origin - это ссылка на удалённый репозиторий, которая инициализируется при выполнении команды git clone, а master - имя ветки, с которой надо провести слияние.
Комментариев нет:
Отправить комментарий