powered by simpleCommunicator - 2.0.27     © 2024 Programmizd 02
Map
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Системы контроля версий и Delphi
25 сообщений из 81, страница 3 из 4
Системы контроля версий и Delphi
    #40125533
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
что топикстартер работает в одно лицо

Значит в одно лицо себе и накоммитит в единственную ветку :)) У меня тоже есть проекты, где я один работаю, но я все равно в основную ветку ничего и никогда напрямую не пишу. Только через временную ветку и потом мерж в основную. Благо в гите и то и другое одной командой делается. Не знаю как сейчас это в SVN, но, помню, что когда-то там работа с ветками была целым ритуалом к которому никого ниже лидов не допускали :) А распределенность тут вообще не при чем. Кроме того гит сейчас это фактически стандарт де-факто, так что если учить что-то с нуля, то, по-моему и вопросов никаких. Хотя, можно, конечно, меркуриал попробовать, тем более с него на гит перейти потом вообще элементарно.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125535
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
git тоже можно использовать локально. Я иногда делаю git init в каталоге с конфигами. Когда эспериментирую.
Что понять что сломало базу или сервис.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125552
Сотрудник Главного Управления
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2
git весьма прост для изучения и использования, если использовать его не через командную строку, а через какой нибудь приличный GUI
А вот и пошли "Вредные советы".
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125574
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
git вообще не прост если говорить о подходах в слиянии веток. Просто надо потратить время на git
примерно как базовый курс языка программирования. Я-бы предложил 2 недели. И непонятно каким
образом UI отвечает на все вопросы? Всё равно матчасть надо пройти. В противном случае кажущаяся
простота UI заводит в тупик. И чел приходит в форум - с криком "спосите-помогите" а ему говорят
- "вспомни что ты последнее сделал" - а он в ответ - "я не помню... я сделал много-много всего и вот..."
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125581
Ares_ekb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати svn тоже не прост :) Буквально сегодня я добавил новую папку и другой разработчик добавил такую же папку, но с немного другим содержимым. Всё, трындец, даже TortoiseSVN не может разрешить эти конфликты. Пришлось сливать вручную копированием файлов. Это ещё хорошо, что каждый работал в своей ветке. Иначе это была бы гарантия потерянных изменений. В плане слияния и разрешения конфликтов svn по-моему существенно сложнее.

С TortoiseSVN я ещё как-то смог в этом разобраться. А в том же RabbitVCS, SmartSVN или CLI просто невозможно понять что происходит в такой ситуации.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125589
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы как-то словили забавный дефект в SVN. Был связан с регистро-нечувствительностью
файловых имен в Windows и в Linux - наоборот. Не фиксился никак. Надо было просто
на linux машине переименовать кучу файлов. И повторить svn update на остальных.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125601
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

ну, этим и гит любит грешить. Скажем, если на винде сказать ему git add somefile.ext - он молча покажет "ок" и ни фига не сделает, потому что SomeFile.ext.

SVN, если мне не изменяет память, имел багу с временем файлов. Оно на FAT округляется до двух секунд, поэтому время от времени после svn update на диске оказывался файл, "изменённый" по сравнению с репозиторием.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125612
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
git вообще не прост если говорить о подходах в слиянии веток.

Я первый раз с rebase вообще втупил. Делаю локально на родительскую, рашрешаю конфликты, и push на сервер (в свою же на сервере). А история-то локально переписалась и он мне говорит - "нефига, делай сначала pull". И при pull, понятно, возникают те же самые конфликты, только в противоположную сторону. И я полчаса тупил, пока понял, что я по кругу разруливаю одни и те же конфликты, еще причем с самим собой же. Запомнил просто после этого уже на автомате, что после rebase надо всегда "push --force" делать.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125617
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
git вообще не прост если говорить о подходах в слиянии веток. Просто надо потратить время на git
примерно как базовый курс языка программирования. Я-бы предложил 2 недели. И непонятно каким
образом UI отвечает на все вопросы? Всё равно матчасть надо пройти. В противном случае кажущаяся
простота UI заводит в тупик. И чел приходит в форум - с криком "спосите-помогите" а ему говорят
- "вспомни что ты последнее сделал" - а он в ответ - "я не помню... я сделал много-много всего и вот..."
вот именно, на какую то утилиту третьей очередности нужности и нужно потрахить кучу времени

зы. логи то конечно есть, то я как то встрял с гитом, что после мерджа, забыв сначала сделать локальный коммит, нереально восстановить почти совсем свою реплику
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125619
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще была история про одного разработчика который любил Windows-like переводы строк.
А другие - не любили. Ну вобщем его с нами уже нет
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125623
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Еще была история про одного разработчика который любил Windows-like переводы строк.
А другие - не любили. Ну вобщем его с нами уже нет

Так git давно уже это сам разруливает. Коммитишь с винды в CRLF он потом тебе на юниксе нормально в CR вернет. Вот реальная засада с этим когда ты какой-то конфиг правишь в ноутпаде а потом его на юниксовый сервер по SCP заливаешь и не можешь понять почему он у тебя вообще грузится перестал.

Было у меня на одной работе еще в самом начале двухтысячных. У нас был один сервер под каким-то древнючим HPUX. Однажды оказалось что эта первобытная хрень просто вообще не читает /etc/fstab, если ты там вместо табов хоть где-то пробелы поставишь
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125626
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

ты что, с make не знаком ? он и сейчас так умеет
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125628
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl
после мерджа, забыв сначала сделать локальный коммит, нереально восстановить почти совсем свою реплику

Ты там что-то просто натворил не то, потому в таком случае гит выдает:
giterror: Your local changes to the following files would be overwritten by merge:
....
....
Please commit your changes or stash them before you merge.
Aborting

Он тебе с незакоммиченными или незастешеными изменениями даже на другую ветку переключиться не даст.

Может у тебя просто была какая-то специфичная GUI-тулза? Потому что у нас когда-то целый SVN-репозиторий с 5+ лет историей чуваки полностью угробили каким-то кривым GUI-плагином к Visual Studio
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125630
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

ничего сложного сломать гит. потом я нашел как это разрулить - но там настоящая эльфийская магия

я с тех пор про "простоту и дружелюбность" гита и слышать не желаю
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125682
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl
fkthat,

ничего сложного сломать гит. потом я нашел как это разрулить - но там настоящая эльфийская магия

я с тех пор про "простоту и дружелюбность" гита и слышать не желаю
Что значит магия? В гите все достаточно тривиально с резолвом конфликтов.

Тут многие хают GUI утилиты, а зря. Например в GitKraken есть классная фишка - можно смотреть возможные конфликты еще ДО выполнения слияния/пуллреквеста. Например мы с коллегой сделали две ветки от базовой и каждый пилит функционал своей задачи в своей ветке. Так вот, GUI тулза гиткракен позволят видеть, а нет ли потенциальных конфликтов между нашими ветками, а также между моей веткой и базовой веткой. Т.е. я делаю коммиты в свою ветку и сразу вижу, а нет ли конфликтов с веткой моего коллеги, а также с базовой веткой. Очень удобно.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125684
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2
Siemargl
fkthat,

ничего сложного сломать гит. потом я нашел как это разрулить - но там настоящая эльфийская магия

я с тех пор про "простоту и дружелюбность" гита и слышать не желаю
Что значит магия? В гите все достаточно тривиально с резолвом конфликтов.

Тут многие хают GUI утилиты, а зря. Например в GitKraken есть классная фишка - можно смотреть возможные конфликты еще ДО выполнения слияния/пуллреквеста. Например мы с коллегой сделали две ветки от базовой и каждый пилит функционал своей задачи в своей ветке. Так вот, GUI тулза гиткракен позволят видеть, а нет ли потенциальных конфликтов между нашими ветками, а также между моей веткой и базовой веткой. Т.е. я делаю коммиты в свою ветку и сразу вижу, а нет ли конфликтов с веткой моего коллеги, а также с базовой веткой. Очень удобно.

Тоесть Кракен осущенствляет ненужную активность по сравнению всех веток со всеми. Да и вообще зачем
сравнивать всё со всеми? Коллега все равно синхронизирует свою ветку с мастером. Зачем вам нужна ветка коллеги?
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125714
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

нда, "не видел, но осуждаю" (c) ? ))))
ты не думал, что разработчики гиткракена функционал сравнения веток сделали настраиваемыми и сравнивается не все подряд, а только то, что указано пользователями?

и да, где я говорил о ветке master? базовой веткой может быть dev-rel-13-b4, у коллеги feature/se-723, у меня fix/SE-821 и эти наши ветки созданы из dev-rel-13-b4.

SVN мозги убил, да?)
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125716
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2
Siemargl
fkthat,

ничего сложного сломать гит. потом я нашел как это разрулить - но там настоящая эльфийская магия

я с тех пор про "простоту и дружелюбность" гита и слышать не желаю
Что значит магия? В гите все достаточно тривиально с резолвом конфликтов.....

Нарыл магию
michael_v89 04.11.2019 в 09:08Если у вас на локальной машине был изменен файл и не закоммичен, а на другой закоммитили изменения в том же файле, то Git вам не даст сделать pull/merge, в отличие от SVN. Надо сделать git stash save, потом git pull, потом git stash pop , и разрешить конфликты если они будут.
Только у меня случился неполный pull/merge и пздс
Всего то я работал поочередно на двух машинах - домашней и рабочей

А выделенных команд я до сих пор не знаю
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125721
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl
А выделенных команд я до сих пор не знаю

Сразу бы так и сказал.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125748
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2
mayton,

нда, "не видел, но осуждаю" (c) ? ))))
ты не думал, что разработчики гиткракена функционал сравнения веток сделали настраиваемыми и сравнивается не все подряд, а только то, что указано пользователями?

и да, где я говорил о ветке master? базовой веткой может быть dev-rel-13-b4, у коллеги feature/se-723, у меня fix/SE-821 и эти наши ветки созданы из dev-rel-13-b4.

SVN мозги убил, да?)

Мда. Может быть. Некоторым мозги убивает SVN. А некоторым графические приложухи. Жизнь - такая странная штука.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125759
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat

Было у меня на одной работе еще в самом начале двухтысячных. У нас был один сервер под каким-то древнючим HPUX. Однажды оказалось что эта первобытная хрень просто вообще не читает /etc/fstab, если ты там вместо табов хоть где-то пробелы поставишь

Я считал что война Табщиков против Пробельщиков закончилась как только появились IDE,
которые просто грамотно считают отступы в пробелах.

А вообще последнее полезное применение табам я помню когда изучал Ассемблер. Там както
tab органично смотрелся.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125977
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl
White Owl
пропущено...
Только один раз - сказать системе что файл надо держать под контролем. На каждый комит ее повторять не нужно.
Так и в гите тоже, только наоборот, что не в .gitignore само пропишется. Я недопонял мысьль

Все, доехало. В гите для измененных staging надо делать перед каждым коммитом.

Неудобно только в командной строке.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40126015
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Открой для себя ключ -a у git commit.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40126017
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня был грешок с git. Я в один из репо по ошибке закоммилил *.avi файл. Не очень большой. Но теперь
при развёртывании моего проекта на любом удалённом ноутбуке он скачивается даже будучи по факту
удалённым в HEAD ревизии мастера.

Хорочо-бы иметь возможность "потереть историю". Без пересоздания проекта. Тоесть я прекрасно осознаю
действия. Проект - мой личный и никого больше это не аффектит.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40126018
istrebitel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton

Хорочо-бы иметь возможность "потереть историю". Без пересоздания проекта. Тоесть я прекрасно осознаю
действия. Проект - мой личный и никого больше это не аффектит.

Пример использования:
Код: powershell
1.
git filter-branch --prune-empty --index-filter "git rm -rf --cached --ignore-unmatch file1 dir1" HEAD


После выполнения команды файл file1 и каталог dir1 будут полностью удалены из истории проекта, опция --prune-empty также удалит образовавшиеся пустые коммиты, которые были связаны с этими файлами/каталогами.

Поскольку filter-branch формирует бэкап, для возможности отката, то для полной очистки потребуется удалить .git/refs/original/, а затем выполнить очистку и оптимизацию репозитория с помощью git gc:

Код: powershell
1.
rm -rf .git/refs/original && git gc --aggressive


Следует учесть, что история проекта будет фактически переписана заново, а значит всем пользователям потребуется заново клонировать полученный репозиторий.
...
Рейтинг: 0 / 0
25 сообщений из 81, страница 3 из 4
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Системы контроля версий и Delphi
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]