[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как правильно делать commit ?
Страницы: 1, 2, 3, 4
clocwerk
День добрый господа.
Собственно вопрос в названии темы.

Я вижу 2 способа:
Первый для одной задачи делается один комит. Т.е. создается новая ветка, в нее делаются все комиты, как только задача выполнена squash для этих комитов, и rebase в тематическую ветку. У нас красивая история и мир прекрасен.

Второй так же создается ветка на основе тематической, все комиты в эту ветку, потом merge этой ветки в тематическую, с флагом --no-ff. Но при таком подходе у нас в истории появляется туева хуча комит-слияний.

Но сегодня мне сказали что весь мир пользуется вторым случаем, мол так намного легче искать баги и исправлять(не понимаю почему, если кто нибудь знает объясните пожалуйста) Как вы считаете как правильно?
sergeiss
Цитата (clocwerk @ 3.11.2015 - 17:02)
Но сегодня мне сказали что весь мир пользуется вторым случаем, мол так намного легче искать баги и исправлять(не понимаю почему, если кто нибудь знает объясните пожалуйста)

Погугли насчет команды git bisect и поймешь, как и почему в куче коммитов проще искать место возникновения баги, чем в одной большой куче кода.
Я был приятно удивлен, когда однажды проделал эту процедуру. Когда вместо ожидаемого много несколькодневного и муторного копания в коде я потратил примерно полчаса. Нашел кто и что изменил. Понял, что мне надо добавить в коде (одно дополнительное условие), чтобы у меня всё заработало.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Razzwan
Цитата (clocwerk @ 3.11.2015 - 17:02)
У нас красивая история и мир прекрасен.
Вот здесь на секунду задумайся, а есть ли еще хоть одно преимущество кроме "красивой" истории. И не обнаружишь, уверяю.


_____________
Youtube канал WebDeveloper->Run()
Сайт для души
Gitter
twin
Странные вы люди... Я вот могу ответить на вопрос так:


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
AllesKlar
twin
Основной и самый большой недостаток SVN это то, что он не работает по HTTP, мы ушли с него.
Это целый гемор, пока к удаленному репозиторию приконектишься, и жутко долго данные передает.
Плюс то, что работать нужно именно с теми файлами, которые были получены. если файл будет не редактирован, а перезаписан другим, то хана всей истории коммитов.

_____________
[продано копирайтерам]
twin
AllesKlar
А я и не рекламирую smile.gif
Вобщем то нас устраивает, торописсся не надо... Как сказал тов. Саахов.

Просто интересно последне время наблюдать. Ели что-то модно, то это сразу становится дефолтным априори. Что Москва при вакансиях, что GIT при коммитах. А я может быть в смятении. biggrin.gif

Вот и это ООП дурацкое. Мыльный пузырь на самом деле. Ничего толком в нем нет, кроме ограничений на самом деле. В очередной раз убедился. Да, конечно, нужно строить шеренгами программистов, иначе разбегутся по интересам. Но ООП, это инструмент не прогера, но менеджера.

Свернутый текст
Но это я так, брюзжу по стариковски. smile.gif Конечно же вы лучше знаете как надо.


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
AllesKlar
twin
Реально брюзжишь.
Мне, чтобы дома к офисному SVN приконектиться нужно было спясать следующее:
- Поднять VPN
- примонтировать виндовую шару с удаленной машины
- дождаться, пока на примонтированную шару залются все репозитории, а т.к. svn тянет по одному файлу, а не пакует, то передача 1000 файлов по 1кб - это та еще задница.
можно смело включать очередную серию Универа, когда она закончится, то не факт, что копироване завершится.
далее кто-то затер index.php, ойкнул, создал его заново, закомиттил и.... в истории коммитов это первый коммит. А если там бага, то откатить уже без вариантов.

_____________
[продано копирайтерам]
clocwerk
sergeiss
Цитата
Погугли насчет команды git bisect и поймешь

Спасибо огромное, открыл для себя bisect и blame. Они очень полезны в этом случае. Благодарю за консультацию!

twin
Цитата
Вот и это ООП дурацкое. Мыльный пузырь на самом деле. Ничего толком в нем нет, кроме ограничений на самом деле.

Ого! Первый раз слышу что бы так про ООП, все наоборот кричат долой процедурный стиль, ООП forewer и т.д. Можете дать какую нибудь статейку или пример из личного опыта, дабы ваше высказывание было аргументировано. Очень хотелось бы узнать почему у вас именно такое мнение. И какие фраемворки вы используете, если пользуетесь процедурным стилем, или какой нибудь самописный используете? Нельзя ж все с нуля писать? И какая тогда структура каталогов должна быть? И что использовать вместо autoload? И вы везде придерживаетесь данного мнения? Я имею вввиду и для работы с бд у вас собственная процедурно написаная OPMка, или пользуетесь mysqli в процедурном стиле? Действительно очень интересно, тем более у вас как я понял большой опыт
bestxp
/summon popcorn

такого троллинга я еще не видел)))
clocwerk
bestxp
Не знаю как вам, вы наверно уже знаете о php все, но лично мне интересно узнать как можно писать в процедурном стиле сложные проекты. Я помню когда только начинал, около года назад читал что vk изначально был написан в процедурном стиле. А это не какой нибудь небольшой блог, а хорошо спроектированая отлаженая система. Не знаю на сколько это правда, но мне это очень запомнилось. Поэтому это не "троллинг".
clocwerk
Хотя я знаю что сейчас мне ответят "Бери любую книгу по PHP4 и смотри как тогда все писали без ООП". Но все таки хотел бы узнать в каких случаях процедурный лучше чем ООП?
inpost
clocwerk
А что там учить толком? Хочешь вывести переменную - пиши echo $var.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
bestxp
Цитата (clocwerk @ 6.11.2015 - 10:04)
bestxp
Не знаю как вам, вы наверно уже знаете о php все, но лично мне интересно узнать как можно писать в процедурном стиле сложные проекты. Я помню когда только начинал, около года назад читал что vk изначально был написан в процедурном стиле. А это не какой нибудь небольшой блог, а хорошо спроектированая отлаженая система. Не знаю на сколько это правда, но мне это очень запомнилось. Поэтому это не "троллинг".

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

были доклады по их апхитектуре и большая часть всего храниться в написанных ими сервисах, а php только для вывода данных из этих сервисов, поэтому считать Вк слишком сложным это не совсем верно, у них скорее интересна система хранения и логика работы со стеной и прочей красотой =) но это их супер прослойка и написана она не на php, просто реально сложные архитектурно проекты писать в процедурке будет полный дурдом, а так же расширение и поддержка этого всего будет очень сложное


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

я напишу пример кода на Си простой
#include <stdio.h>


struct people {
int age;
char *name;
};

void hello(struct people human);

void hello(struct people human){

printf("hello %s \n", human.name);
}

int main()
{
struct people human;
human.age = 10;
human.name = "bestxp";

hello(human);

struct people man;
man.age = 25;
man.name = "Jhon Doe";

hello(man);

return 0;
}



и тоже самое на php


<?php

class
People{
public $age;
public $name;

}

function hello(People $ppl){
echo "hello ",$ppl->name,"\n\t";
}

$human = new People;
$human->age = 10;
$human->name = 'bestxp';

hello($human);


почти не отличается, только в случае с php мы можем hello сделать методом класса, что немного сложнее с Си и не совсем красиво получиться, ой как не красиво будет выглядеть

и да, twin на сколько помню пропагандирует Императивное в котором ему не чуждо использовать классы и объекты если память не изменяет =) а это уже немного другой подход нежеди процедурное
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.