hirthwork 31.01.2013 15:46 mcabber

Вопрос евангелистам git'а про бранчи-хуянчи.
Вот работаю я в мастере. Изменил файлы A и B, и тут потребовалось срочно в
мастере же изменить быстро файл C и запушить, чтобы коллега эти изменения
подхватил. При этом:
Файл A — на сборку не влияет, при работе над файлом C мне потребуются изменения
в нём.
Файл B — ещё не закончен и сборку ломает.

Как мне грамотнее всего тут вынести изменения в B в отдельный бранч, а потом
этот бранч вмержить обратно в мастер?

git, ?
1. Rayslava 31.01.2013 15:47 RAY-DESKTOP

Никак, блядь. Все на это наступали. Осиливай git-flow.

2. gelraen 31.01.2013 15:52 work-laptop

изменения в A и B ты ужа закоммитил в мастер?

3. hirthworkgelraen /2 31.01.2013 15:53 mcabber

нет и пока не собираюсь

4. gelraenhirthwork /3 31.01.2013 15:54 work-laptop

тогда я не понимат в чём проблема: git add A C && git commit && git push

5. 4daRayslava /1 31.01.2013 15:54

% man git-glow
Нет справочной страницы для git-glow

6. Minoru 31.01.2013 15:55 antaeus

Зачем в отдельную ветку? Учитывая, что ты ничего ещё не коммитил, тебе достаточно сделать git stash, поправить и закоммитить C, а потом git stash pop и хакаешь себе дальше.

7. 4da 31.01.2013 15:55

закинуть в stash, перейти на другой мастер, git stash apply etc

8. 4da 31.01.2013 15:55

*на другой бранч

9. hirthworkgelraen /4 31.01.2013 15:56 mcabber

в том что сборка в данный момент поломана

10. gelraenhirthwork /9 31.01.2013 15:57 work-laptop

так подожди, A у тебя сборку не ломает же

11. Minorugelraen /10 31.01.2013 15:57 antaeus

Изменения из B никуда не делись же, @hirthwork игнорирует комментарии про git stash.

12. gelraenMinoru /11 31.01.2013 15:58 work-laptop

а то что при git commit не обязательно указывать -a уже все забыли? или чо?

13. Minorugelraen /12 31.01.2013 15:58 antaeus

Ну, я так понимаю, он про локальную сборку, прямо из рабочей директории.

14. gelraenMinoru /13 31.01.2013 15:59 work-laptop

я нихуя не понял™

15. Cthulhu 31.01.2013 15:59 work

stash?

16. Minorugelraen /14 31.01.2013 16:00 antaeus

Ну ок, погоди немного, сейчас придёт топикстартер и объяснит, какую именно сборку ломает B — у него на девелоперской машине или на билд-сервере.

17. hirthworkCthulhu /15 31.01.2013 16:04 mcabber

заебали. пойду почитаю про это

18. hirthworkMinoru /16 31.01.2013 16:04 mcabber

любую сборку ломает. но собираю и тесчу я локально

19. gelraenhirthwork /18 31.01.2013 16:15 work-laptop

ну так и не коммить его, блять

20. Cthulhugelraen /19 31.01.2013 16:16 work

Не. Он у себя собрать не может, чтобы проверить изменения, которые закоммитить хочет.

21. gelraenCthulhu /20 31.01.2013 16:16 work-laptop

а, понял. Тогда stash, да

22. kb 31.01.2013 16:19

Элементарно, ватсон:

proj-clone master-hotfix master
cd master-hotfix
...
git commit -am $'всё сделал'
git push

И нехуй в одном и том же клоне ебаться с полками и прочим. И наглядно видно над чем работаешь тупо сделав

ls -ltr

в папке с проектами.

23. Minorukb /22 31.01.2013 16:20 antaeus

> И нехуй в одном и том же клоне ебаться с полками и прочим.
А как ты относишься к darcs?

24. kbMinoru /23 31.01.2013 16:21 04a3831c

еще не смотрел, но знаю что тормозит. а что, думаешь стоит глянуть?

25. Cthulhukb /22 31.01.2013 16:21 work

А ты случайно не на питоне пишешь, братюнь?

26. kbkb /22 31.01.2013 16:22

Теперь подробнее про команду proj-clone. Это специфичный для проекта скриптик (пишется, в основном, единоразово, очень изредка допиливается), который делает следующее:

cd эталонный_репозиторий_проекта # (для того, чтоб клонировать его, чтоб локально, быстро и с хардлинками)
git pull
cd ..
git clone ./эталонный_репозиторий_проекта $1
cp эталонный_репозиторий_проекта/.git/config $1/.git/
cd $1
git checkout origin/$2
git checkout $2
cowsay $'done!'

27. kbCthulhu /25 31.01.2013 16:22

А что не так?

28. Minorukb /24 31.01.2013 16:22 antaeus

Там просто нет веток и их приходится делать клонированием всего репозитория в отдельную директорию. Мне твой совет про отдельный клон почему-то сразу про этот небольшой недостаток напомнил.
Сам я им почти не пользовался, так, потыкал и бросил. Практической нужды нет, а если захочется теории, то лучше уж теорию патчей раскурить для начала.

29. kbMinoru /28 31.01.2013 16:24

Ужас. Нет, я считаю, что ветки нужны, но пляска с стэшами и прочим говном это какой-то цирк. У меня красиво лежат папки proj-master, proj-12.0, proj-13.0 для веток, proj-1234-feature-foo, proj-4321-feature-bar для фич и так далее. Мне гораздо больше такой воркфлоу подходит.

30. DZhon 31.01.2013 17:31

Тред не читал,
stash тебе нужен.

Do you really want to delete ?