|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
Basil A. Sidorov что топикстартер работает в одно лицо Значит в одно лицо себе и накоммитит в единственную ветку :)) У меня тоже есть проекты, где я один работаю, но я все равно в основную ветку ничего и никогда напрямую не пишу. Только через временную ветку и потом мерж в основную. Благо в гите и то и другое одной командой делается. Не знаю как сейчас это в SVN, но, помню, что когда-то там работа с ветками была целым ритуалом к которому никого ниже лидов не допускали :) А распределенность тут вообще не при чем. Кроме того гит сейчас это фактически стандарт де-факто, так что если учить что-то с нуля, то, по-моему и вопросов никаких. Хотя, можно, конечно, меркуриал попробовать, тем более с него на гит перейти потом вообще элементарно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2022, 15:51 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
git тоже можно использовать локально. Я иногда делаю git init в каталоге с конфигами. Когда эспериментирую. Что понять что сломало базу или сервис. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2022, 15:57 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
asutp2 git весьма прост для изучения и использования, если использовать его не через командную строку, а через какой нибудь приличный GUI ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2022, 18:01 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
git вообще не прост если говорить о подходах в слиянии веток. Просто надо потратить время на git примерно как базовый курс языка программирования. Я-бы предложил 2 недели. И непонятно каким образом UI отвечает на все вопросы? Всё равно матчасть надо пройти. В противном случае кажущаяся простота UI заводит в тупик. И чел приходит в форум - с криком "спосите-помогите" а ему говорят - "вспомни что ты последнее сделал" - а он в ответ - "я не помню... я сделал много-много всего и вот..." ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2022, 20:09 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
Кстати svn тоже не прост :) Буквально сегодня я добавил новую папку и другой разработчик добавил такую же папку, но с немного другим содержимым. Всё, трындец, даже TortoiseSVN не может разрешить эти конфликты. Пришлось сливать вручную копированием файлов. Это ещё хорошо, что каждый работал в своей ветке. Иначе это была бы гарантия потерянных изменений. В плане слияния и разрешения конфликтов svn по-моему существенно сложнее. С TortoiseSVN я ещё как-то смог в этом разобраться. А в том же RabbitVCS, SmartSVN или CLI просто невозможно понять что происходит в такой ситуации. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2022, 20:25 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
Мы как-то словили забавный дефект в SVN. Был связан с регистро-нечувствительностью файловых имен в Windows и в Linux - наоборот. Не фиксился никак. Надо было просто на linux машине переименовать кучу файлов. И повторить svn update на остальных. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2022, 20:53 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
mayton, ну, этим и гит любит грешить. Скажем, если на винде сказать ему git add somefile.ext - он молча покажет "ок" и ни фига не сделает, потому что SomeFile.ext. SVN, если мне не изменяет память, имел багу с временем файлов. Оно на FAT округляется до двух секунд, поэтому время от времени после svn update на диске оказывался файл, "изменённый" по сравнению с репозиторием. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2022, 21:31 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
mayton git вообще не прост если говорить о подходах в слиянии веток. Я первый раз с rebase вообще втупил. Делаю локально на родительскую, рашрешаю конфликты, и push на сервер (в свою же на сервере). А история-то локально переписалась и он мне говорит - "нефига, делай сначала pull". И при pull, понятно, возникают те же самые конфликты, только в противоположную сторону. И я полчаса тупил, пока понял, что я по кругу разруливаю одни и те же конфликты, еще причем с самим собой же. Запомнил просто после этого уже на автомате, что после rebase надо всегда "push --force" делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2022, 22:15 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
mayton git вообще не прост если говорить о подходах в слиянии веток. Просто надо потратить время на git примерно как базовый курс языка программирования. Я-бы предложил 2 недели. И непонятно каким образом UI отвечает на все вопросы? Всё равно матчасть надо пройти. В противном случае кажущаяся простота UI заводит в тупик. И чел приходит в форум - с криком "спосите-помогите" а ему говорят - "вспомни что ты последнее сделал" - а он в ответ - "я не помню... я сделал много-много всего и вот..." зы. логи то конечно есть, то я как то встрял с гитом, что после мерджа, забыв сначала сделать локальный коммит, нереально восстановить почти совсем свою реплику ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2022, 22:24 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
Еще была история про одного разработчика который любил Windows-like переводы строк. А другие - не любили. Ну вобщем его с нами уже нет ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2022, 22:25 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
mayton Еще была история про одного разработчика который любил Windows-like переводы строк. А другие - не любили. Ну вобщем его с нами уже нет Так git давно уже это сам разруливает. Коммитишь с винды в CRLF он потом тебе на юниксе нормально в CR вернет. Вот реальная засада с этим когда ты какой-то конфиг правишь в ноутпаде а потом его на юниксовый сервер по SCP заливаешь и не можешь понять почему он у тебя вообще грузится перестал. Было у меня на одной работе еще в самом начале двухтысячных. У нас был один сервер под каким-то древнючим HPUX. Однажды оказалось что эта первобытная хрень просто вообще не читает /etc/fstab, если ты там вместо табов хоть где-то пробелы поставишь ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2022, 22:46 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
fkthat, ты что, с make не знаком ? он и сейчас так умеет ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2022, 22:57 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2022, 23:06 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
fkthat, ничего сложного сломать гит. потом я нашел как это разрулить - но там настоящая эльфийская магия я с тех пор про "простоту и дружелюбность" гита и слышать не желаю ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2022, 23:25 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
Siemargl fkthat, ничего сложного сломать гит. потом я нашел как это разрулить - но там настоящая эльфийская магия я с тех пор про "простоту и дружелюбность" гита и слышать не желаю Тут многие хают GUI утилиты, а зря. Например в GitKraken есть классная фишка - можно смотреть возможные конфликты еще ДО выполнения слияния/пуллреквеста. Например мы с коллегой сделали две ветки от базовой и каждый пилит функционал своей задачи в своей ветке. Так вот, GUI тулза гиткракен позволят видеть, а нет ли потенциальных конфликтов между нашими ветками, а также между моей веткой и базовой веткой. Т.е. я делаю коммиты в свою ветку и сразу вижу, а нет ли конфликтов с веткой моего коллеги, а также с базовой веткой. Очень удобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2022, 10:56 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
asutp2 Siemargl fkthat, ничего сложного сломать гит. потом я нашел как это разрулить - но там настоящая эльфийская магия я с тех пор про "простоту и дружелюбность" гита и слышать не желаю Тут многие хают GUI утилиты, а зря. Например в GitKraken есть классная фишка - можно смотреть возможные конфликты еще ДО выполнения слияния/пуллреквеста. Например мы с коллегой сделали две ветки от базовой и каждый пилит функционал своей задачи в своей ветке. Так вот, GUI тулза гиткракен позволят видеть, а нет ли потенциальных конфликтов между нашими ветками, а также между моей веткой и базовой веткой. Т.е. я делаю коммиты в свою ветку и сразу вижу, а нет ли конфликтов с веткой моего коллеги, а также с базовой веткой. Очень удобно. Тоесть Кракен осущенствляет ненужную активность по сравнению всех веток со всеми. Да и вообще зачем сравнивать всё со всеми? Коллега все равно синхронизирует свою ветку с мастером. Зачем вам нужна ветка коллеги? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2022, 11:03 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
mayton, нда, "не видел, но осуждаю" (c) ? )))) ты не думал, что разработчики гиткракена функционал сравнения веток сделали настраиваемыми и сравнивается не все подряд, а только то, что указано пользователями? и да, где я говорил о ветке master? базовой веткой может быть dev-rel-13-b4, у коллеги feature/se-723, у меня fix/SE-821 и эти наши ветки созданы из dev-rel-13-b4. SVN мозги убил, да?) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2022, 12:29 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
asutp2 Siemargl fkthat, ничего сложного сломать гит. потом я нашел как это разрулить - но там настоящая эльфийская магия я с тех пор про "простоту и дружелюбность" гита и слышать не желаю Нарыл магию michael_v89 04.11.2019 в 09:08Если у вас на локальной машине был изменен файл и не закоммичен, а на другой закоммитили изменения в том же файле, то Git вам не даст сделать pull/merge, в отличие от SVN. Надо сделать git stash save, потом git pull, потом git stash pop , и разрешить конфликты если они будут. Только у меня случился неполный pull/merge и пздс Всего то я работал поочередно на двух машинах - домашней и рабочей А выделенных команд я до сих пор не знаю ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2022, 12:36 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
Siemargl А выделенных команд я до сих пор не знаю Сразу бы так и сказал. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2022, 12:56 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
asutp2 mayton, нда, "не видел, но осуждаю" (c) ? )))) ты не думал, что разработчики гиткракена функционал сравнения веток сделали настраиваемыми и сравнивается не все подряд, а только то, что указано пользователями? и да, где я говорил о ветке master? базовой веткой может быть dev-rel-13-b4, у коллеги feature/se-723, у меня fix/SE-821 и эти наши ветки созданы из dev-rel-13-b4. SVN мозги убил, да?) Мда. Может быть. Некоторым мозги убивает SVN. А некоторым графические приложухи. Жизнь - такая странная штука. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2022, 14:11 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
fkthat Было у меня на одной работе еще в самом начале двухтысячных. У нас был один сервер под каким-то древнючим HPUX. Однажды оказалось что эта первобытная хрень просто вообще не читает /etc/fstab, если ты там вместо табов хоть где-то пробелы поставишь Я считал что война Табщиков против Пробельщиков закончилась как только появились IDE, которые просто грамотно считают отступы в пробелах. А вообще последнее полезное применение табам я помню когда изучал Ассемблер. Там както tab органично смотрелся. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2022, 14:36 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
Siemargl White Owl пропущено... Только один раз - сказать системе что файл надо держать под контролем. На каждый комит ее повторять не нужно. Все, доехало. В гите для измененных staging надо делать перед каждым коммитом. Неудобно только в командной строке. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2022, 12:22 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
Открой для себя ключ -a у git commit. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2022, 14:51 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
У меня был грешок с git. Я в один из репо по ошибке закоммилил *.avi файл. Не очень большой. Но теперь при развёртывании моего проекта на любом удалённом ноутбуке он скачивается даже будучи по факту удалённым в HEAD ревизии мастера. Хорочо-бы иметь возможность "потереть историю". Без пересоздания проекта. Тоесть я прекрасно осознаю действия. Проект - мой личный и никого больше это не аффектит. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2022, 14:55 |
|
Системы контроля версий и Delphi
|
|||
---|---|---|---|
#18+
mayton Хорочо-бы иметь возможность "потереть историю". Без пересоздания проекта. Тоесть я прекрасно осознаю действия. Проект - мой личный и никого больше это не аффектит. Пример использования: Код: powershell 1.
После выполнения команды файл file1 и каталог dir1 будут полностью удалены из истории проекта, опция --prune-empty также удалит образовавшиеся пустые коммиты, которые были связаны с этими файлами/каталогами. Поскольку filter-branch формирует бэкап, для возможности отката, то для полной очистки потребуется удалить .git/refs/original/, а затем выполнить очистку и оптимизацию репозитория с помощью git gc: Код: powershell 1.
Следует учесть, что история проекта будет фактически переписана заново, а значит всем пользователям потребуется заново клонировать полученный репозиторий. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2022, 15:06 |
|
|
Start [/forum/topic.php?fid=16&msg=40125630&tid=1339595]: |
0ms |
get settings: |
22ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
512ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 654ms |
0 / 0 |