Как вы используете GIT на нескольких компьютерах при работе над одним куском кода?

Я решил не отставать от моды и попробовать в новом проекте GIT. В целом все нравится, но есть одна проблема. Точнее не проблема, а недопонимание того как делать правильно.



Есть у меня 3 рабочих компьютера (дом, офис, ноут) и работаю я на них в достаточно хаотичном порядке, т.е. я не могу сказать, что если я сел за рабочий комп писать какую-то фичу, то мне не придется ее дописывать дома. В связи с этим я хочу понять, как я должен синхронизировать код на разных машинах. Сейчас это дело представляет собой ветку на гитхабе, но она видима для всех и выглядит это как-то неправильно, так как код там обычно незавершенный. Как Вы синхронизируете код на разных машинах обычно?



Заранее спасибо за ответы!
  • Вопрос задан
  • 4653 просмотра
Пригласить эксперта
Ответы на вопрос 7
dshster
@dshster
Javascript, Frontend
Создаю bare хранилище в папке синхронизированной через Dropbox, git push туда проект, когда заканчиваю работать на одном компьютере, синхронизирую Dropbox. На другом компьютере снова синхронизирую Dropbox и git pull изменения в папку с проектом на этом компьютере. Как-то так в общих чертах.

Пока недостатков не заметил, кроме того, что забываю запушить проект на одном компьютере, и редактирую на другом. После этого приходится сливать разные изменения.
Ответ написан
Комментировать
philpirj
@philpirj
Создайте ветку для «рабочего» кода, комитьте в эту ветку. Как почуствуете, что код работает — добавляйте его также и в master. Логично добавлять по ветке для каждой новой функциональности, чтобы упростить слияние с основной веткой.
Ответ написан
Комментировать
Мы работаем всё по ветках… Есть мастер, но каждый из работников фирмы работает только в своей ветке, а потом всё комитится в мастер одним человеком. Напримерпохожим образом работает Линкус Торвальд.
Ответ написан
Troytft
@Troytft
У нас 4 ветки (2 разработчика), по одной на разработчика, develop ветка и master ветка. из которой измененя идут непосредственно на сайт.
Ответ написан
Комментировать
un1t
@un1t
Все правильно такую работу следует выполнять в ветках.
Мы делаем так. Для новой фичи создается ветка, туда может комититься комититься любой, даже не рабочий. После того как фича отлажена и оттвестирована, этот функционал мержится в master или devel.
Ответ написан
Комментировать
Alroniks
@Alroniks
MODX Джедай, работаю с Laravel
Для своих проектов — у меня отдельная ветка develop (там может быть нерабочий код), как только код стабилизировался — перетекает в мастер все и иногда помечается тегом (версия). Для багов и фич, если они есть где-то в системе багтрекинга, то тут 2 варианта можно применить. Если проект огромный, то имеет смысл заводить ветку на фичу или баг, если проект небольшой, то можно обойтись префиксами к коммитам, а ветки выделать под большие фичи.
Ответ написан
Комментировать
Akson87
@Akson87 Автор вопроса
Спасибо все за ответы, похоже, что я был не так далек от истины:)
Только вот получается, что надо либо делать много много веток удаленных, либо весь код будет в одну кучу скапливаться и получается похоже на SVN. Но, в любом случае, работать можно:)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы