Программирование


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
304 41 156

Version Control /vcs/ Version Control 01/08/18 Срд 19:33:59 12390871
finallastfinal.jpg (273Кб, 650x609)
650x609
gitxkcd.png (47Кб, 330x478)
330x478
perfection.png (382Кб, 960x901)
960x901
Не прошло и года, как предыдущий тред (>>1035893 (OP)) ушел в бамплимит.
Собираем мануалы, тулзы, лайфхаки по версионированию и хранению исходников. Планируем критерии для отправки программистов в биореактор. Доказываем, что данный тред не нужен вовсе.
А также нельзя не отметить, что OP-хуй регулярно раз в год обсирается
Аноним 01/08/18 Срд 19:59:34 12391012
Первонахну таким вопросом, как там ваш гит еще модно или уже не очень?
Аноним 01/08/18 Срд 20:18:11 12391243
>>1239101
Не очень, все давно перешли на каталоги с суффиксами v<номер версии>
Аноним 01/08/18 Срд 20:22:56 12391284
Иметь несколько версий физически как на смешных картинках при одновременной с ними работе тупо во много раз удобнее чем иметь их где-то в виртуальном мирке и жонглировать загружая-выгружая их.
Аноним 01/08/18 Срд 20:24:45 12391295
>>1239124
>все давно перешли на каталоги с суффиксами
если это все архивируется теневыми копиями, то почему бы и нет
Git Version Control 01/08/18 Срд 20:30:53 12391346
Git
На данный момент - default version control system а ля Нерезиновая = ДС. Что характерно, ей не является (https://blog.feld.me/posts/2018/01/git-is-not-revision-control/) без допиливания различными соглашениями, да и позиционирует себя скорее как систему контроля исходных кодов не vcs а scm.
Запилена тем самым Торвальдсом в 2005 году после того как один хитрый Ларри закрыл бесплатный доступ к BitKeeper - тогдашней vcs, использовавшейся при разработке Linux. Первая рабочая версия была готова и выкачена в использование всего за два месяца. Последствия разгребаем до сих пор.
Имеется сайт: https://git-scm.com/ , с него можно взять билды, документацию, исходники. А также книженцию Pro Git: https://git-scm.com/book/en/v2 - в которой есть информация от азов до специфичных вещей эмодзи в комментах, лол. Написание книги, кстати, проходит тоже через git (https://github.com/progit/progit2), из-за особенностей используемых средств полно мест где вовсю торчит css is awesome.
Заявляется, что у гита есть разделение на plumbing и porcelain, то бишь можно пользоваться только дружелюбным фарфором для работы нассать в писуар, но всегда есть возможность копнуть на уровень глубже и работать напрямую с сантехникой срать прямо в трубу. Где-то рядом торчит мем "всего пять комманд нужно для использования". По факту при работе с гитом до уровня сантехники приходится докапываться довольно часто ну или звать сантехника Федора иди разворачивать свежую копию репы, xkcd не врет. Связано это с историей разработки гита, целей его использования и организацией работы: git - проект с типичной unix-идеологией, состоящий из множества мелких утилит, каждая из которых делает только свою работу и делает ее хорошо. С другой стороны, каждая из утилит имеет свой синтаксис и может частично дублировать функционал другой утилиты (например есть git-apply которая применяет патчи, сгенерированные git-diff, но Линуса как-то задолбало вытаскивать патчи из email и накатывать их, потому есть git am который применяет патчи из git-format-patch, полученные с мыла). Также костылями прикручивается поддержка больших файлов LFS или GVFS Однако все это не отменяет открытости git, которая и привела к тому, что его популярность взлетела до небес... с помощью гитхаба.
Github
Если в начале своей истории git соревновался на равных с меркуриалом, то создание https://github.com/ вырвало использование git вперед и закрепило его доминирующее положение. Именно гитхаб прикрыл сложности работы с гитом своим функционалом, что однако вылилось что у гитхаба есть и свои туториалы по гиту (https://guides.github.com/), и свои клиенты (https://desktop.github.com/), и свои надстройки над гитом. Дошло до того, что мало кто знает, что пулл-реквест - это не фича гита, а фича гитхаба git-request-pull запилен сильно позже и не обладает аналогичным функционалом.
Еще гитхаб хорошо протолкнул себя функционалом "соцсети для разработчиков" и тем, что удачно переманил кучу опенсорсных проектов с sourceforge (который к тому же знатно начал обсираться к тому времени) - что в итоге превратило гитхаб в хостинг опенсорных проектов по дефолту и в "строчку в резюме".
На данный момент у гитхаба из конкурентов атлассиановский bitbucket (тоже поддерживает git), относительно недавно еще отпочковался gitlab. А еще его купил Microsoft. По итогу git непотопляем пока не потонул github, но вероятность потонуть из-за славы мелкомягких определенно имеется.
Аноним 01/08/18 Срд 20:43:58 12391537
>>1239134
Дропнул гит когда понял, что нужно читать книги
Mercurial Version Control 01/08/18 Срд 20:56:14 12391758
Истоки создания Mercurial (ртутный, сокращенно зовется Hg) - ровно те же самые что и у Git, и изначально он рассматривался как альтернатива гиту.
И вообще, Mercurial - это лучший гит. Аналогично гиту - распределенная система контроля версий (DVCS), но поддерживает работу именно как vcs из коробки. Есть настоящие бранчи, а есть легковесные как в гите - bookmarks. Синтаксис команд менее вырвиглазный. Однако пока меркуриал пилил нормальную систему и фиксил баги - гит вырвался вперед. Добавляет проблем то, что если гит сложен снаружи, но просто внутри, то у меркуриала все наоборот - снаружи все просто, а внутри ад и израиль, что означает невозможность взять и запилить его альтернативную закрытую реализацию для создания чего-нибудь на уровне гитхаба.
Имеется сайт: https://www.mercurial-scm.org/ с билдами и туториалами. Есть туториал от Спольски: http://hginit.com , его, честно говоря, неплохо бы и почитать любителям гита.

Меркуриал поддерживается Atlassian, соответственно есть хостинг на bitbucket. В отличие от git хорошо масштабируется на гигантские проекты, поэтому Mercurial популярен у контор с большой кодовой базой: Mozilla, Facebook, разработка ОpenJDK также ведется в Hg. Гугл тоже держал свои проекты под Hg, пока не перевел все дело под внутреннюю систему Piper
Subversion Version Control 01/08/18 Срд 21:17:03 12392149
Subversion - он же SVN, централизованная система контроля версий (CVCS) от Apache. Предыдущая дефолтная система контроля версий - по этой причине в основном преимущества гита описывают в основном сравнивая его с svn.
Основной сайт: https://subversion.apache.org/ Имеется книга, известная как "THE Subversion Book" - http://svnbook.red-bean.com/
Концептуально значительно проще, чем распределенные системы. До сих пор часто используется в проектах, которые версионируют не только исходный код, но и ресурсы, а также требуют различные права доступа не на уровне репозиториев, а на уровне файлов. Все менее и менее популярен, но проживет еще очень долго за счет старых, мелких проектов и бедного энтерпрайза.
Perforce Version Control 01/08/18 Срд 21:43:50 123923610
Perforce, он же P4, нонче Perforce Helix - древнючая корпоративная система контроля версий, которая лет пять назад проснулась от сладкого сна под покрывалом абсолютного лидерства в толстожопом энтерпрайзе и начала допиливать кучу функционала в свою CVCS Perforce, добавляя туда распределенный функционал, интеграцию с гитом и кучу решений для ALM из выкупленной шведской Hansoft, перемеиновав это дело в Perforce Helix Core. И что самое неожиданное для Perforce - наличие бесплатной версии для <5 юзеров (https://www.perforce.com/downloads/helix-core-p4d)
В России крайне малоизвестна, ибо была целиком и полностью платной, но довольно популярна в мире. Что уж говорить, до Mercurial гугл использовал P4, мелкомягкие делали свой TFVC с оглядкой на P4, а сами использовали внутри себя приватный форк P4 под названием SourceDepot. Netflix до того как переползти на Stash использовал P4, Disney до сих пор его использует. Вообще говоря в геймдеве 90% крупных контор используют P4 - что Ubisoft и EA, что CD Projekt RED.
За пределами экосистемы P4 известен ее кусок - утилита P4Merge, которая одна из первых популяризовала отображение 3-way merge, а также поддерживает осмысленный diff не только текста, но и изображений и документов
Темное прошлое Version Control 01/08/18 Срд 22:05:01 123926311
CVS
Concurrent Versioning System - предшественник SVN, она же SVN под дезоморфином. Разработка гита шла под девизом "как сделать хорошо? - сделать не так, как в CVS". Крайне медленная система и без поддержки транзакций - так что коммит мог быть успешным наполовину. Официально померла с последним стабильным релизом в 2008, что характерно, изначально была написана как набор шелл-скриптов поверх исключительно локальной системы RCS до SourceDepot мелкомягкие использовали приватный форк RCS под названием SLM, но у той последний стабильный релиз был аж в 2015
Visual SourceSafe
Известная как говносос-контрол от мелкомягких. Плохо все. И не удивительно - была куплена в спешке в 1994 по дешевке лишь бы хоть с чем-то выпустить релиз VisualStudio. Внутри самой Microsoft не использовалась от слова совсем, и была удачно похоронена заменой на TFS
ClearCase
Поделие не для "простого" толстожопого энтерпрайза, а самого настоящего кровавого. Потому и куплено IBM. Очень медленная CVCS, которая, однако поддерживает распределенные сценарии... на базе проприетарной сетевой файловой системы. Максимум корпоративности, максимум ебли, минимум скорости. Система еще жива и даже развивается. Держит гигантские проекты и странные сценарии, но требует много поддержки. Кровавому энтерпрайзу слезть с нее очень дорого, так что помирать будет еще долго.
Аноним 01/08/18 Срд 22:09:07 123927112
Светлое будущее Version Control 01/08/18 Срд 22:16:41 123927713
Fossil
Как написано для/с SQLite, так и развивается. Относительно молодая DVCS со встроенным баг-трекингом и вики. Есть сайт: https://www.fossil-scm.org/ Очень популярна при выборе "что, если не гит", с мотивацией https://sqlite.org/whynotgit.html
darcs
DVCS на хаскеле. Есть сайт: http://darcs.net Система контроля версий с алгеброй патчей и публикациями вида ftp://ftp.math.ucla.edu/pub/camreport/cam09-83.pdf
(Формализация системы патчей DARCS с использованием обратных полугрупп)
Аноним 01/08/18 Срд 22:18:53 123928014
>>1239277
>Как написано для/с SQLite
Писали те же люди что и SQLite, поэтому охуено братан. Гит нинужен.
Аноним 01/08/18 Срд 22:21:16 123928215
>>1239280
>те же люди
Да не только. Исходники SQLite - в Fossil. Fossil хранит данные - в SQLite. Типичные курица-яйцо а началось все как обычно с CVS
Аноним 01/08/18 Срд 22:25:11 123928616
>>1239282
>SQLite
Я его встраиваю в свои ебы, оченравицо, также дропнул гит в пользу fossil
Аноним 01/08/18 Срд 22:39:00 123929617
>>1239128
А форкнуть тебе свн-религия не позволяет, да?
Аноним 01/08/18 Срд 22:41:42 123929918
>>1239134
Какой-то очередной гит-хейтер. Пост полон субъективизма, желчи и передергиваний.
Аноним 01/08/18 Срд 22:44:16 123930119
>>1239175
OpenJDK - это "гигантский" проект, а Линукс - это так, хобби-поделка на пару экранов кода, да?
Аноним 01/08/18 Срд 22:46:05 123930320
>>1239301
>Линукс - это так
Ну да, копипаста МИНИКСА
Аноним 01/08/18 Срд 22:47:26 123930521
>>1239301
Линукс из маленьких модулей состоит, каждый из которых самодостаточен.
Аноним 01/08/18 Срд 22:59:40 123931222
Аноним 01/08/18 Срд 23:07:34 123932023
>>1239301
Линукс по факту в одной репе не содержится, полную историю разве что у Линуса в мейл-листах можно собрать
Аноним 01/08/18 Срд 23:10:59 123932724
>>1239299
>Пост полон субъективизма, желчи и передергиваний.
>Ну так приносите объективизм
>Кто, Я?
Аноним 01/08/18 Срд 23:22:15 123933825
Аноним 01/08/18 Срд 23:32:21 123934726
>>1239338
Линукс не на гитхабе хостится, алло. А на kernel.org. И там кроме линусовского мейнлайна ещё куча деревьев у мейнтейнеров https://git.kernel.org/pub/scm/

Алсо Facebook от таких реп перелез на hg
Аноним 02/08/18 Чтв 00:16:12 123938027
>>1239347
>https://github.com/dmlloyd/openjdk - 185мб
>https://github.com/torvalds/linux/ - 189мб

>Mercurial популярен у контор с большой кодовой базой: Mozilla, Facebook, разработка ОpenJDK также ведется в Hg

>https://github.com/dmlloyd/openjdk - 185мб
>https://github.com/torvalds/linux/ - 189мб

Ты блядь может уже глаза откроешь? У опенждк точно так же еще туева хуча реп, основная зеркалируется на гитхабе. "Большая кодовая база" "гигантского" опенждк - это 185мб сорцов в основной репе, а хобби-поделка торвальдса - это 189мб сорцов в основной репе. Нет бы блядь просто сказать "ок, это был хуевый пример".

Алсо,
>Линукс не на гитхабе хостится
>только что дали ссылку на официальное(с)(тм) зеркало линукса на гитхабе
-.\\

Алсо, у фейсбука не хг как таковой, а собственная них-поделка на его основе
Аноним 02/08/18 Чтв 01:44:20 123941128
>>1239301
>>1239312
>>1239380
Это конечно показательно, что при гиге у мозиллы и 50 с хуем гигах у фейсбука доебываются до 200 метров у jdk. OpenJDK и внутренняя кухня HotSpot вообще хреновый пример, Mercurial там использовался исключительно из-за вкусовщины - в 2006-2008 годах это был самый популярный выбор у JavaEE. Да и не монорепа там, хотя два года назад пытались слить весь лес воедино.
А сравнивать монорепы с гитхабовским слепком linux kernel вообще бред это как не различать repo и working copy, туда попадают лишь результаты слияния патчей, всей истории ни в одном репозитории полностью нет.
Аноним 02/08/18 Чтв 01:50:27 123941629
>>1239299
То ли дело у гитхаб-утят.
Больше пяти команд не надо.
@
Git подходит для всего. Проблем никогда не бывает, это все - заговор
@
Освоить git - дело пяти минут, это может сделать даже слепоглухонемая макака.

На деле выходит правда, что ничего кроме github и не видали и пользоваться не могут... гитом в принципе тоже.
Аноним 02/08/18 Чтв 02:00:33 123941830
Как на меркуриале локально перекинуть данные на другой пк? В git нашёл способ:

git stash save myWork
git stash show -p > myWork.txt

git apply myWork.txt
git stash clear

А как с хг так же?
Аноним 02/08/18 Чтв 02:11:05 123941931
>>1239418
Блин, сонный уже. Не данные перекинуть, а изменения. Идеально было бы коммит локальный
перекинуть
Аноним 02/08/18 Чтв 02:35:41 123942632
>>1239419
hg export для генерации патча, например
hg export -r 123:125 > exported.diff
возьмет изменения ревизий с 123 по 125 и сгенерирует патч exported.diff
hg import для применения патча, например
hg import exported.diff --no-commit накатит изменения из exported.diff на рабочую копию, но без коммита
Аноним 02/08/18 Чтв 16:07:00 123964433
>>1239411
>Mercurial там использовался исключительно из-за вкусовщины
Как и, не поверишь, у мозиллы. Как и у фейсбука по сути (потому что повторюсь, у них там своя поделка, и выбирали они по принципу "лично нам проще все перепилить будет").

>не монорепа там
>сравнивать монорепы с гитхабовским слепком linux kernel вообще бред
>не монорепа там
Не ебу, что ты в итоге хотел сказать, если честно.

>>1239416
Найс проекции, держи в курсе.
Аноним 02/08/18 Чтв 20:14:39 123976834
Да
Аноним 02/08/18 Чтв 20:37:34 123978435
>>1239644
>своя поделка
Mercurial сервер на Rust, зовется Mononoke. А еще куча расширений для mercurial, доступных на bitbucket.org/facebook, ну и патчей заслали. То бишь не своя поделка, а допиливание общей.
Аноним 02/08/18 Чтв 22:22:14 123984836
Думаю делать новые проекты на fossil. Какие подводные?
Аноним 03/08/18 Птн 09:10:35 123999437
>>1239848
>Какие подводные?
Может понравится
04/08/18 Суб 22:13:30 124100238
>>1239848
Там автор совершенно поехал, реализует в fossil форумы по email. Подумай, стоит ли перекатываться на DVCS, где решения принимают подобные люди.

> Какие подводные?
Нет rebase ни в каком виде. А так, для мелких проектов в принципе норм.
Аноним 05/08/18 Вск 13:46:51 124120039
Подскажите, пожалуйста.
Git

Значит у меня есть две ветки.
branch 1: A
branch 2 : \ - B -C
Буквами обозначаются комиты. Дальше я чекаутюсь на ветку branch 1 и мёрджу в неё branch 2. И вместо того чтобы сделать степ форвард она говорит что у меня конфликт в одном файле. Подскажите, как мне вместо того чтобы слеплять вместе файл из говна и палок двух разных веток просто использовать полностью файл из ветки branch 2 ?

По логике вещей можно чекаутится между комитами а не между ветками? Подскажите последовательность команд плиз
05/08/18 Вск 16:36:44 124134540
Анон спасай, научи уму разуму, недавно с подобной проблемой писал, но теперь еще страннее все.
добавляю локально файлы в проект ну и изменяю уже залитые в первый раз.
делаю
add .
commit -a -m "text"
push origin master
все залито все красиво, пишет мне.
захожу в удаленный репозиторий, новых файлов нет, изменения в существующих есть. коммит отображается, если заходишь в него, пишет про изменения тех не отображаемых файлов.

что я делаю не так?
Аноним 05/08/18 Вск 23:34:01 124170341
>>1241345
-a нинада, оно не коммитит новые файлы
а так смотри документацию, пиши в консоли git help <команда>, там все написано, например git help commit напишет тебе
-a, --all
Tell the command to automatically stage files that have been modified and deleted, but new files you have not told Git about are not affected.
Аноним 06/08/18 Пнд 05:52:54 124177342
>>1241703
спасибо, но я видимо с ветряными мельницами боролся, но все равно не понятно.

В общем зашел в репозиторий с другого пк(не залогинился) и перкрасно вижу все файлы, а если логинюсь то вижу только первые.. эээ это какие-то косяки На битбакете, или там настроить чего надо?
Аноним 06/08/18 Пнд 12:49:09 124185643
Вообще гит иногда подкидывает проблемы. Погляди, пользуется ли у тебя IDE соурс контролом. И если да, то отключи это в ИДЕ. Я заметил, что если ИДЕ пользует соурс контрол, то лучше делать всё через иде, а если хочешь через терминал, то отрубай соурс контрол в ИДЕ.
Аноним 06/08/18 Пнд 12:52:52 124185944
>>1241856
Еще лучше отрубить гит и перейти на нормальную вкс
Аноним 06/08/18 Пнд 17:27:51 124198945
>>1241002
Чёт и правда сумасшедшая идея. Может откажется?
06/08/18 Пнд 22:04:36 124226446
>>1241989
Он почти закончил уже. Но я надеюсь, что "e-mail форумы" постигнет такая же судьба, как и предыдущие гениальные идеи. Ни сама fossil, ни sqlite (использующие fossil для кода), не пользуются встроенным багтрекером (разработка идет в мэйллистах). Багтрекер все еще поддерживается, но он неудобен, за ним невозможно следить, он легко заспамливается. На данный момент он фактически не развивается и нужен лишь, чтобы хвастаться, мол "смотрите, у нас есть векторный распределенный багтрекер. То же самое и со встроенной вики - убожество без задач. Ее основной юзкейс на данный момент - сделать "Welcome to my repository", как README.md на гитхабе. После того, как появилась возможность рендерить в веб-интерфейсе .wiki и .md файлы из репозитория (и даже из чекаута), можно поставить /doc/trunk/README.md главной страницей и вообще не пользоваться вики.
Я пользуюсь fossil очень-очень давно, практически с самого начала, но в последние годы все чаще хочется сжечь и переписать форкнуть и повыкидывать оттуда всякий бесполезный мусор, запиленный вместо решения насущных проблем.
Аноним 07/08/18 Втр 18:23:52 124258247
>>1239087 (OP)
Аноны, вопрос есть.
Допустим есть у меня папка с проектом NetBeans IDE 8.2 javafx и я хочу выложить исходник на гитхаб.
Какие папки не нужные и какие оставить? Оставить только src и build.xml, manifest.mf?
Что делать с папками nbproject и build?
Аноним 07/08/18 Втр 18:56:57 124259548
>>1242264
>форкнуть и повыкидывать оттуда всякий бесполезный мусор
...и получится медленный, кривой гит. ;)
Аноним 07/08/18 Втр 21:14:52 124268949
>>1242595
Очень портабельный и весьма удобный гит без зависимостей.
Аноним 08/08/18 Срд 14:22:58 124303850
Аноним 15/08/18 Срд 18:07:36 124725451
image.png (44Кб, 792x116)
792x116
image.png (85Кб, 806x638)
806x638
Вот читаю ProGit, в чем прикол rebase?

>cleaner history
Каким образом это более чистая история? С merge понятно - человек сделал ответвление, локально у себя накоммитил пока работал, и потом влил в основную ветку. А с rebase - какой-то долбаеб 3-4 раза коммитил в основную ветку. Не понятно как и зачем.

>второй пик
Но вот тут уже вроде более полезный случай, но сразу вопрос - а почему не сделать ответвление от мастера сразу? Зачем делать ветку для изменения клиента, основываясь на коммите из ветки об изменении сервера? Человек создает проблему, чтобы решить ее.
Аноним 15/08/18 Срд 19:52:20 124734552
>>1247254
>в чем прикол rebase?
РИБЕЙЗ НИНУЖОН!!!1

>Каким образом это более чистая история?
НИКАКИМ, НИНУЖНО!!11

>Зачем делать ветку для изменения клиента, основываясь на коммите из ветки об изменении сервера?
Ну там же написано прямо на твоей картинке, в серверной ветке запилили фичу, но в мастер пока не вмерджили, а тебе уже сейчас надо начать работать на клиент-кодом, который использует эту фичу. Ну а потом вмерджат - ты сразу хоп-хоп, чики-брики и в дамки.
Аноним 16/08/18 Чтв 18:04:15 124786053
image.png (40Кб, 787x95)
787x95
>>1247345
>НИНУЖОН 1!!11!11
А если не троллить?

>работать на клиент-кодом, который использует эту фичу
А, ну тогда понятно.

Ещё вопрос по этому пику. Почему это не нужны снапшоты на remote repository? Раз это collaboration point, то там как раз должны быть все эти снапшоты,чтобы с них fetchить и пушить к ним, нет?
Аноним 16/08/18 Чтв 18:17:04 124786754
>>1247860
Нихуя не понял вопрос. В ремот репе нет рабочей копии, ну блядь, стейджинг эрии, сырых вычекаутенных сырцов, потому что ну типа он ремот, непосредственно в нем никто не кодит, все кодят на своих машинах и пушат туда. Перечитай короче, ты неправильно понял походу.
Аноним 20/08/18 Пнд 09:14:34 124954155
изображение.png (37Кб, 530x508)
530x508
Решил я значит перейти на bitbucket
Аноним 20/08/18 Пнд 13:00:13 124964056
>>1239296
Что это подразумевает? Создать несколько папок и в каждой чтобы была отдельная гита? Ну наверное можно и так сделать. Только зачем?
Аноним 20/08/18 Пнд 13:29:44 124965557
>>1249640
>Только зачем?
Блядь, ну это у >>1239128-куна наверно надо спрашивать? у тебя раздвоение личности, не?
Аноним 20/08/18 Пнд 15:53:54 124972458
>>1249655
Дебик, я и есть тот-кун.
Аноним 20/08/18 Пнд 16:07:51 124972759
>>1249724
Перечитай текст под спойлером. Подумай. Подумай еще.
Аноним 20/08/18 Пнд 16:13:28 124973360
>>1249727
Хуй соси, чмо тупое.
20/08/18 Пнд 22:19:16 124989161
04/09/18 Втр 16:07:53 125891062
Няши, подскажите пожалуйста название "последнего большого проекта на Hg, который ушёл на другую систему контроля версий". Я помню, я читал 2-3 года назад новость, а найти не могу, потому что в названии было не про "последний большой проект", а просто название этого проекта
Аноним 10/09/18 Пнд 19:04:51 126210263
2.jpg (292Кб, 1152x2048)
1152x2048
1.jpg (278Кб, 1152x2048)
1152x2048
Аноним 10/09/18 Пнд 23:25:00 126219564
1
Аноним 11/09/18 Втр 09:24:45 126232265
>>1258910
Идет обсуждение миграции OpenJDK. Но пока только обсуждение.
Аноним 11/09/18 Втр 12:32:34 126245066
150850375611193[...].jpg (221Кб, 960x1280)
960x1280
>>1262102
Как же они заебали))00
11/09/18 Втр 13:57:00 126252367
>>1262450
у меня даже есть часть из этих книг , я ноулайфер
Аноним 15/09/18 Суб 20:40:40 126474768
>>1239134
аноны, где можно найти мануал по вкатыванию в гитхаб на русском?
Аноним 25/09/18 Втр 23:26:23 127031969
Аноним 26/09/18 Срд 01:01:40 127035670
Pijul)))
Аноним 26/09/18 Срд 01:46:50 127036871
Ананасы, вопрос по гиту.
Есть команда создания ветки git checkout -b branchname
Тут узнал что есть такой вариант ещё git branch new existing
Она создаёт новую ветку основываясь на старой.
В чём различие будет? Поясните, пожалуйста.
Аноним 26/09/18 Срд 02:17:51 127037772
Аноним 26/09/18 Срд 02:20:58 127037873
>>1270368
>git checkout -b branchname
наверно это создаст новую ветку на основе той, в которой ты сейчас.
Ну а во втором варианте ты сам укажешь основу.
Но это не точно.
Аноним 26/09/18 Срд 15:04:37 127053974
>>1239101
Git - индустриальный стандарт. Это говно ещё лет на 10. Есть надежда, что он переродится во что-то юзабильное с ветками. Но пока жрём кактусы.
>>1239134
Даже если утонет github, его заменитель будет тоже поддерживать git.

sad but true, но это красноглазое говно будет с нами ещё долго.

>>1239175
Mercurial няшка, но его не используют.
Аноним 26/09/18 Срд 16:06:48 127055175
>>1239347

в случае git нельзя сказать что "что то где то хостится"
да, есть репа на kernel.org, есть на гитхабе, но есть и у десятков тысяч кодеров и все они равноправны

я правильно понимаю?
Аноним 26/09/18 Срд 16:10:47 127055276
>>1239848
мне не нравится, что fossil позиционируется как комплексное решение, помимо vc там еще и багтрекер, вики, форум..
причем в исходниках проекта это выглядит все как монолит..
не самый лучший подход imho
Аноним 26/09/18 Срд 16:23:16 127055677
>>1242264
да, да
причем весь этот функционал в исходниках кода объединен в один проект и все это написано на дедушкином си
Аноним 26/09/18 Срд 19:24:55 127062478
>>1270551
Git создавался именно что с расчетом, что никакого единого источника истины нет и все репозитории равноправны. На деле же в большинстве случаев заводят какой-нибудь origin-репозиторий (на гитхабе ли, на локальном сервере и т.п.) и всю работу проводят через него, игнорируя возможность, например, напрямую заслать коммит в vasya/master минуя origin/master
У линукса в этом плане гибридная модель, васяны засылают патчи равноправным мейнтейнерам, мейнтейнеры работают со своими репами и засылают патчи Линусу, Линус впиливает патчи в свою репу на своем условном комплюхтере. Формально все равноправны, реально с комплюхтера Линуса репа зеркалируется на kernel.org, а оттуда на гитхаб, ты можешь форкнуть/собрать любую репу, но пользуются все Линусовской
Аноним 26/09/18 Срд 19:57:57 127063579
>>1270552
>помимо vc там еще и багтрекер, вики, форум..
Это охуено
26/09/18 Срд 21:12:47 127068180
>>1270635
> помимо vc там еще и багтрекер, вики, форум
Это только звучит хорошо.
Аноним 27/09/18 Чтв 00:12:02 127073981
>>1270681
Я фоссил давно юзаю, встроеной вики и доками пару раз пользовался, мне не мешает, а вот залупа вроде гит с 2 миллиардами коммандами и параметрами меня вымораживает.
Аноним 27/09/18 Чтв 00:18:58 127074182
>>1270739
И что?
Ты все 2 миллиарда команд юзаешь?
27/09/18 Чтв 00:25:45 127074583
>>1270739
> встроеной вики и доками пару раз пользовался
Расскажи юзкейс. Почему нельзя было отредактировать documentation.md и закомитить?
Аноним 27/09/18 Чтв 01:36:05 127076284
>>1270745
>Почему нельзя было отредактировать documentation.md и закомитить?
Я доками пользуюсь через браузерный просмотровщик маркдауна, запущенный сервер фоссила не нужен.
Аноним 26/10/18 Птн 01:40:30 128462585
>>1270356
Pijul это же продолжение темы Darcs, да?
Аноним 03/11/18 Суб 08:53:45 128916686
Эт самое, а даунский ответ у вас спросить можно? Вот работаю я на РАБоте по окологитфлову, под каждую фичу свою ветку создаю. Допустим, сделал фичу 1, потом 2, 3, 4, у каждой своя ветка. И тут на пятой я обнаружил, что на первой ветке где-то обосрался, потом починил все это, а как мне дальше изменения применить к остальным веткам? Не вручную мержить же.
Аноним 03/11/18 Суб 11:58:44 128920787
Аноним 03/11/18 Суб 12:16:35 128921088
>>1289207
Потом не мерджнуть фичу5 в фичу1 без дополнительного коммита разве нет? Лучше git rebase
Аноним 03/11/18 Суб 12:18:45 128921389
>>1289210
Что ты там за хуйню творишь
Аноним 03/11/18 Суб 12:26:45 128921690
>>1289213
Да я просто мимо шел, лол.
Аноним 06/11/18 Втр 19:42:27 129078191
1526694317443.jpg (134Кб, 500x713)
500x713
Какая система контроля версий хороша для бинарников? Или проще складывать по папочкам v1, v2?
Аноним 06/11/18 Втр 19:48:19 129078792
Аноним 06/11/18 Втр 22:02:28 129090093
>>1290781
Для бинарников - любая централизованная из адекватных, что SVN, что TFVC, что Perforce.
С децентрализованными либо страдать (раздувать локальную копию репозитория), либо костылями прикручивать, аки Git LFS (что означает наличие централизованного сервера с бинарями и дополнительную еблю с репой для поддержки этого дела)
Аноним 08/11/18 Чтв 21:17:07 129193194
>>1290900
Возможно ли как-то без двойного копирования файлов? Ведь надо поднять репозиторий, а потом ещё с ним работать.
Аноним 14/11/18 Срд 18:28:09 129551595
Господа, я тут дико обосрался на работе с гитом. Скачал репозиторий проекта, сделал свой ебучий таск, в процессе серанул несколько коммитов, затем с меня еще один человек коммит сделал, а потом я еще сверху. Собрался это в репозиторий запушить, а хуй там, оказалось у меня стоит мой дефолтный емейл, а репозиторий требует другой, который гитлабовский, а с моим запушить не дает. В общем, мне каким-то образом нужно теперь в этих коммитах изменить почту. Как это сделать без регистрации и смс максимально простым способом?
Аноним 14/11/18 Срд 20:48:26 129557096
>>1270368
Checkout -b это создать и перейти, две команды в одной. Как pull --rebase или commit -m
Аноним 14/11/18 Срд 20:52:14 129557297
>>1295515
Rebase -i, засквошь в один, резетни хед и закоммить заново

Можно сразу резетнуть n-последних, если история важна
14/11/18 Срд 22:19:19 129560398
>>1295515
Нет, поменять почту в коммитах нельзя (учитывается при подсчете sha-1 хеша) - поэтому нужно создать новые коммиты. Вариантов хренова туча,rebase, rebase -i ли, или же просто reset --soft... Особенно интересно вот это:
>затем с меня еще один человек коммит сделал
Это человек тебе коммит в твою локальную репу засунул? Или ты у себя сделал два коммита, потом чувак влил один коммент в репу проекта, а потом ты у себя еще два коммита сделал?
Аноним 15/11/18 Чтв 00:38:36 129564499
Ребята, помогите советом.
Короче, я пилил на проекте в парадигме близкой к гитфлоу -- на каждую задачу отдельная ветка и все это постепенно мерджу в девелоп, а затем после тестов вливаю в мастер.
Случилось так, что я делал задачи A, B и C и завершая, каждую мержил с девелопом, в итоге у меня девелоп актуален на задаче С.
И тут шеф требует влить в мастер не все 3 задачи, а только B и C, а A как-нибудь потом. Проблема в том, что начиная очередную задачу, я отпочковывался от девелопа, так что ветка B уже сожержит в себе код ветки A, например, а ветка C уже содержит A и B.
Так как мне залить в мастер только B и C без кода ветки A и не обосраться, чтобы потом можно было безболезнено влить A?
Аноним 15/11/18 Чтв 03:29:20 1295694100
>>1295644
Создаешь 3 новые ветки для фич A, B, C на основе мастера.
А потом вилочкой сука чистишь все это дерьмо. Черри пикаешь нужные коммиты из старых фаршмачных веток в новые, сворачиваешь клубочком и плачешь.
На выходе будут 3 ветки с фичами готовые для мержа с мастером.
Аноним 17/11/18 Суб 23:02:23 1296927101
>>1295694
Спасибо за совет.
Я тут пораскинул и вот еще что придумал.
Короче, я заливаю ветку С, то есть весь код, выковыривая код ветки А. Затем, когда придет время заливать задачу А, я откачусь на нынешнее состояние и сделаю мердж, но уже без выковыриваний.
Как идея?
Аноним 18/11/18 Вск 23:48:37 1297437102
>>1295644
Можно ребейз сделать на более ранний коммит
A-B-C
->
A-B
|
C
Аноним 19/11/18 Пнд 19:43:35 1297799103
Ананасы, такой вопрос по гиту.
Есть ветка dev, когда решаю что-то переписать/добавить новое то делаю ответвление от неё допустим feature, а потом мержу с ней и ветку удаляю.
Если я не буду удалять feature, а потом буду коммитить в dev и захочу переключиться на старую ветку feature, то коммитов в ней не будет.
Вопрос такой: как добавить коммиты из в dev в feature
Аноним 19/11/18 Пнд 22:41:45 1297883104
>>1297437
Не понял, с какого именно момента. С "С" откатиться до "B" или как?
>>1297799
Можешь cherry-pick'ом нужные коммиты перекинуть.
Аноним 19/11/18 Пнд 23:33:51 1297909105
>>1297883
> Можешь cherry-pick'ом нужные коммиты перекинуть.
А нельзя только последний? Он не перетащит за собой остальные?
Аноним 19/11/18 Пнд 23:50:10 1297914106
>>1297909
Остальные не перетащит, в этом и фишка.
Он берет только те изменения, которые были внесены конкретным коммитом, без учета остальных и без слияния с веткой.
Аноним 20/11/18 Втр 23:44:08 1298516107
>>1297914
>Он берет только те изменения, которые были внесены конкретным коммитом, без учета остальных и без слияния с веткой.
Тут еще главное не забыть что GIT тупо хранит снимки целых файлов, он понятия не имеет где и какая часть файла изменилась.
Иными словами если у тебя все коммиты редактировали один файл то каждый из них содержит в себе все изменения предыдущих.
Аноним 01/12/18 Суб 23:06:42 1304534108
Ананасы, как быть с форматированием кода. Я имею ввиду clang-format.
Знаю что в гите есть хуки для прекоммита и там можно, например, настроить вызов каких-то сторонних утилит тоже форматирование.
Но как тогда не отслеживать эти изменения?
Аноним 01/12/18 Суб 23:33:57 1304539109
>>1304534
У нас было вообще проще: мы настраивали редакторы чтобы те делали clang-format при сохранении. Работало в VSCode и QTCreator.
Аноним 09/12/18 Вск 11:11:39 1308430110
Бандиты, суть такова:
Есть кучка офисных мудил в разных концах необъятной нашей родины. Они и близко не программеры, потому заставить их пользоваться git'ом не предоставляется возможным.
Но они совместно разрабатывают документы (преимущественно текст, изредка таблицы), шлют, ясен хуй, в формате docx все на всех. Раз в пару недель случается коллапс когда оказывается что одни редактировали одну версию, другие другую и тд.
Я с этим борюсь как могу тем, что выкладываю на интранетовский сайт самые свежие версии и прошу постоянно перед вдохновением что-то дополнить - скачивать с сайта последнюю версию, но помогает так себе.

Короче че я хочу:
1. запилить сайтец, смахивающий на гитхаб: ветки там, версии, великолепный diff
2. после загрузки юзером ебучего docx конвертировать этот docx в markdown чтобы выбросить всю ебучий мусор из области оформления ворда
3. делать diff с маркдауном последнего по времени загрузки файла, чтобы видно было чего добавили в браузере, может с чатиком / комментариями чтобы они пиздели прям друг с другом, а не со мной
4. генерить из этого маркдауна обратно docx чтобы васяны могли скачать и править его

всё.

А теперь внимание вопрос, может кто-то что-то уже видел похожее? Если оно будет стоить денег - не проблема.
Аноним 10/12/18 Пнд 02:06:15 1308828111
Аноним 13/12/18 Чтв 00:17:41 1310374112
Объясните пожалуйста ньюфагу, зачем нужно использовать в гитхабе именно КОНСОЛЬ, а не приложение или браузер? Это исключительно хотелка нашего препода, или есть реальные отличия? Заранее спасибо за ответ.
Аноним 13/12/18 Чтв 12:43:45 1310588113
cgw.PNG (407Кб, 1166x645)
1166x645
Сделал простенький скрипт под винду дабы ускорить работу с частыми командами гита. Может быть кому то пригодится, а может кто то дополнит своим.

https://github.com/ta-tikoma/console-git-wrapper
Аноним 13/12/18 Чтв 12:46:11 1310591114
>>1310588
было мотивировано тем что уже воротит от приложений браузеров типа github-desktop или gitkraken
Аноним 13/12/18 Чтв 12:53:19 1310595115
>>1310591
>>1310588
Лучше для powershell сделай.
Да и алиасы можно настраивать в самом гите.
Аноним 13/12/18 Чтв 15:17:07 1310638116
>>1310595
Bat скрипт он и там и там работает
Аноним 13/12/18 Чтв 21:19:09 1310782117
>>1308828
Это да, но шибко оно с порталом и другой мс дрочью завязано. А у меня вся прочая инфраструктура уже готова, ей уже народ пользуется, и конвертировать все это безобразие в шароточку вообще желания ноль, как и припердоливать ее как-то сбоку.
Аноним 30/12/18 Вск 23:41:29 1318911118
.png (2Кб, 108x332)
108x332
Чёт накосячил вроде в гите с amend и получился пикрелейтед.
Как вернуть коммит в ветку?
Аноним 31/12/18 Пнд 02:53:02 1319005119
>>1308430
>2. после загрузки юзером ебучего docx конвертировать ...
>3. делать diff с маркдауном последнего по времени загрузки файла, чтобы видно было чего добавили ....
>4. генерить из этого маркдауна обратно docx ...

Велосипед изобретаешь.
Шарепойнт сделали как раз для распределённой работы офисных планктош.
Ты будешь ебаться сто лет, и всё равно в итоге придёшь к примерно тому же.
И учти что планктошам насрать на твой маркап и дифф - им надо быстро делать и исправлять документы, а не разбираться в тонкостях команд гита.
Аноним 31/12/18 Пнд 12:09:50 1319077120
Аноним 31/12/18 Пнд 13:37:46 1319102121
>>1318911
Взять коммит без перезаписи истории — git cherry-pick. Если хочешь его засунуть в правильном порядке — да, через рибейз, с перезаписью истории.
Аноним 05/01/19 Суб 20:45:24 1321299122
Использую гит по назначению - как файлопомойку:
[alias]
save = "!git add -A . && git commit -a -m \"Save\" && git push"
Аноним 05/01/19 Суб 23:40:52 1321407123
>>1284625
Да, но вот я лично пока Darcs юзаю, пихуль сырой ещё пока.
Аноним 06/01/19 Вск 20:32:33 1321878124
>>1262450
ну японцы умеют делать книжки не то что у нас

намного внятнее написано чем в мое время в шк

60 процентов хуй поми что в мои 15 лет матам нехуя не понимал
Аноним 06/01/19 Вск 22:55:07 1321946125
>>1321878
>умеют делать книжки
чет прооренькнул
Аноним 07/01/19 Пнд 01:34:41 1321987126
>>1241859
я не такой большой начальник, что бы отдавать подобные приказы
Аноним 07/01/19 Пнд 05:10:19 1322035127
c37.gif (84Кб, 359x345)
359x345
Аноним 20/01/19 Вск 07:53:07 1330577128
Ребят, ошибка с установкой гит Аноним 04/02/19 Пнд 21:58:29 1341905129
78jlop.png (1Кб, 323x80)
323x80
Сам гит работает, но не через командную строку
выдает error launching git: .
В гугле в похожих вопросах вместо пробелов стояли пояснения ошибок, типа не удается найти какой-то файл и тд, у меня же - ничего, просто пробелы
Аноним 05/02/19 Втр 09:02:54 1342114130
>>1341905
У тебя походу не пробелы, а неподдерживаемые символы (локализация?) - висящая точка намекает. Попробуй сменить кодовую страницу на UTF-8 (в консоли же набери chcp 65001, обратно chcp 866)
А лучше забей на эту консоль а выбери вариант с bash через MSYS-2
Аноним 05/02/19 Втр 14:11:36 1342253131
>>1341905
на каждом углу уже гит для винды прекомпилированный лежит и отлично работает. где версия Гита? где настройки консоли? если ты даже гит не можешь настроить может тебе рано ещё кодить?
Аноним 07/02/19 Чтв 21:17:28 1343610132
15494786113580.jpg (379Кб, 1200x1600)
1200x1600
Пользователи православного Subversion есть? Могу помочь, объяснить что да как и так же объяснить где он лучше чем git.
Аноним 07/02/19 Чтв 21:50:32 1343643133
>>1343610
Я все-таки предпочитаю отдельные каталоги под каждую версию.

русские вперед
Аноним 07/02/19 Чтв 22:12:36 1343653134
15430838475950.jpg (97Кб, 640x640)
640x640
>>1343643

шта? Я не понял. Ты такое и с SVN могёшь. Объясни, пожалуйста.
Аноним 07/02/19 Чтв 22:33:54 1343668135
Аноним 08/02/19 Птн 01:41:49 1343744136
>>1343610
Хранить бинарники можно без ебли и костылей, а еще разграничивать права по доступу к кускам репозитория можно.
Так что всякую хрень типа ассетов, документальной инфы и специфичных бинарных артефактов складываем в SVN, а git уже для сорцов. Собирать результаты билда приходится правда костылями
Аноним 08/02/19 Птн 01:45:25 1343745137
Аноним 08/02/19 Птн 05:15:03 1343764138
>>1343653
Речь о нормальном соурс контроле
шапку треда посмотри
Аноним 08/02/19 Птн 18:53:30 1344147139
15493868579080.jpg (57Кб, 640x624)
640x624
Аноним 08/02/19 Птн 18:54:58 1344150140
2.jpg (13Кб, 244x384)
244x384
Аноним 15/02/19 Птн 09:48:38 1347910141
Такая ситуация: у нашего продукта существует несколько различных версий для разных клиентов, причем различия между ними иногда довольно большие. Но часто нужно оперативно и желательно одновременно обновлять все версии. Сейчас использую git с веткой на каждую версию. Периодически мерджу с апстримом, разруливаю конфликты, ломаю специфичные для ветки фичи, восстанавливаю их. Последний раз вообще разнес один и тот же коммит на все ветки cherry-pick'ом. Уверен, что для этого случая найдется более уместный инструмент, но постоянно надо, чтобы все работало не то, что вчера, а еще месяц назад, поэтому переезд, да и изучение может затянуться надолго. Возможно, нужно просто правильно использовать git.

Так вот: можно ли хранить в разных ветках разные наборы коммитов? И при объединении выбирать, какие коммиты принимать, а какие - нет? Задолбался все ломать и восстанавливать уже, помоги, анон!
Аноним 15/02/19 Птн 09:55:24 1347915142
>>1347910
Мне кажется надо это разруливать на уровне кода приложения, а не плодить десяток веток, которые потом сложно поддерживать.
Аноним 15/02/19 Птн 10:05:34 1347922143
>>1347915
То есть брать все из конфигурационных файлов? Там логика в некоторых версиях очень сильно меняется. Если громоздить кучу ифов, производительность пострадает (а она важна). Но это полбеды. Если для серверной части можно просто собирать разные билды с разными параметрами, то клиентская у нас - на скриптоте, поэтому при должном терпении один пользователь может либо подобрать настройки второго, либо вообще получить код, которого он видеть не должен.

Я нубик, пришел с фриланса в суровый Ънтерпрайз, сильно не пинайте, пожалуйста.
Аноним 15/02/19 Птн 10:45:09 1347931144
>>1347910
Вынеси различающиеся для клиентов места в отдельную библиотеку с версиями для каждого клиента, обновляй общее для всех в одном месте, для клиентов - когда надо. SRP же.
Аноним 15/02/19 Птн 17:52:24 1348306145
>>1347910
Использовать вместо веток форки было бы гораздо удобнее, кстати.
Аноним 15/02/19 Птн 18:05:42 1348315146
В одной репе есть коммиты, которых нет в другой. При каждом изменении предлагает мерджить, уже заебался. Как бы привести их к одному виду, не перекидывая все файлы с правильной ветки в кривую? Чекаутнуться к коммиту, с которого пошло расхождение, и...?
Аноним 20/02/19 Срд 08:44:49 1351197147
>>1348315
Отвечу сам себе:
git reset --hard origin/master
Аноним 19/03/19 Втр 23:03:05 1367282148
А всякие хранилища артефактов, CI/CD и прочее - это сюда?
Аноним 20/03/19 Срд 00:46:47 1367324149
1
Аноним 01/04/19 Пнд 15:59:56 1373235150
2
Аноним 08/04/19 Пнд 19:31:31 1377294151
Подскажите программу которая по КД сохраняет избранный файл, как свои изменения, а не весь.
Аноним 10/05/19 Птн 03:04:29 1396669152
3
Аноним 24/05/19 Птн 16:44:13 1405783153
Спасибо, анончики. Вернули мне вкус к жизни.
А то я стал думать, что это я один старый пердун - дегенерат, который считает гит ебаной хуйней, а все остальные кончают от него радугой.
Оказывается, не один я такой.
Аноним 24/05/19 Птн 21:00:47 1405900154
15505571496630.jpg (50Кб, 385x604)
385x604
Аноним 25/05/19 Суб 02:03:37 1406052155
Аноним 25/05/19 Суб 09:45:25 1406115156
>>1405783
>гит ебаной хуйней
Причем эталонная хуйня, прям из палаты мер и весов
Аноним 25/05/19 Суб 17:13:44 1406309157
>>1405783
А где конкретно в треде про это писали?
Я то уже сколько говорю что гита бесполезная игрулька для быдляков. Так мне в одном треде по хардкору разъяснили что аудиторы держат программистов за яйца и всем выдадут пизды если они не будут каждый пук складывать в гиту а то рабовладельцы не смогут акции на ипо выпустить. А я то малолетка и жизни еще не нюхал.
Аноним 25/05/19 Суб 21:27:41 1406446158
>>1406309
ты не спросил, как аудитор может понять, что сложено в гит?
а то, может, я туда складываю отчеты о том, как выебал его мамку
Аноним 31/05/19 Птн 01:40:08 1409623159
>>1406446
Очевидным образом аудитор может заглянуть в логи гита и посмотреть все изменения которые вносились за всю историю разработки.
Аноним 31/05/19 Птн 02:34:04 1409637160
>>1409623
Русский - не твой родной?
Вопрос был:
>как аудитор может понять, что сложено в гит
Ты отвечаешь, как он может посмотреть.

Там аудитор - охуенный программист, который понимает код не хуже писунов этого кода (причем сразу ВЕСЬ, блядь, код, который туда складывают)?
Тогда хули он аудирует, а не кодописит?
А если он не такой крутой, то повторяю вопрос - как он поймет, что я там накодил?
Аноним 31/05/19 Птн 21:10:43 1410071161
>>1409637
>Тогда хули он аудирует, а не кодописит?
Потому что "анализировать" результаты чужого труда почесывая яйца всегда во много раз проще чем что то делать самому своей собственной головой. И да не нужно быть ебаным Кормаком чтобы отличить КОД от отчетов про еблю мамок. Ах да - в сраку тебя ебал вместе с твоими тупорылыми вопросами дауна безмозглого.
Аноним 31/05/19 Птн 22:56:42 1410100162
>>1410071
>анализировать" результаты чужого труда почесывая яйца всегда во много раз проще
Ох уж этот школьник с лабой1, хаха.
>еблю мамок
И правда школьник.
Аноним 02/06/19 Вск 19:16:51 1410900163
>>1410071
Т.е. правильный ответ на все мои вопросы:
"не знаю, дяденька".
Так бы и сказал.
Аноним 02/06/19 Вск 19:20:59 1410904164
>>1410900
Зато я ебал твою мамашу.
Аноним 02/06/19 Вск 21:15:34 1411000165
24120795.jpg (124Кб, 670x450)
670x450
Аноним 04/06/19 Втр 04:08:52 1411521166
Аноним 15/06/19 Суб 12:09:51 1416777167
ветвь.JPG (15Кб, 273x243)
273x243
>>1343610
Здравствуйте уважаемый человек, могущий объяснить что да как.
Суть такова. Есть рабочая группа 5-10 человек, разрабатывают схемы и печатные платы в ИДЕ Altium. Altium поддерживает работу с SVN.
Каждая отдельная разработка (или проект изделия) содержит 10-20 ИДЕ-проектов печатных плат со схемами.
Плюс библиотека элементов, которая включается в каждый проект печатной платы. И для каждой разработки хорошо бы использовать одну и ту же самую библиотеку элементов.
Все данные - бинарные, объём репозитория будет расти очень быстро.

Вопрос в том, как правильно организовать svn-сервер:
Держать всё, и прошлые разработки и новые, в одном гигантском репо? (средний коммит 1Мб, при 10 коммитах юзера в день... Итого за год набежит 54Гб запросто)
Отдельные репо для каждой разработки? Но тут вопрос как синхронизировать либу компонентов, включаемую в каждый проект печатной платы. Когда юзер в ходе работы над проектом печатной платы добавляет компонент в библиотеку, этот новый компонент должен стать доступен остальным юзерам, которые могут быть заняты на другой разработке.

Второй вопрос, как правильно организовать репо для нескольких проектов.
"tags trunk branches" делать в корне репо, или делать внутри папки проекта свои "tags trunk branches" ?

Аноним 23/06/19 Вск 00:36:12 1420672168
Умудрённый опытом анон, молю, подскажи охуенный git клиент.
У меня сложилось впечатление что есть некий тайный гит клиент не указанный вот в этом списке https://git-scm.com/download/gui/windows .
Поясню свою параноидальность: они все какие-то уебанские в край. Наиболее близок мне Git Extensions. Визуально в нем нет кучи свистоперделок с вырвиглазными цветами.

И ещё поясни про мердж. Пытался использовать winmerge и kdiff3 - и нихуя не получилось. Как код мерджат то? Даже в этом говне мамонта нет нихуя из списка фич ide которые помогают ориентироваться в коде и в итоге решать что делать с конфликтными местами.

В командной строке и блокноте как-то не особо эти задачи у меня получается решать.

p.s. вот winmerge с tortoise svn дружит на ура и понятно хотябы где были изменения, какой код добавлен, удален и куда уехал.... а с гитом не дружит
Аноним 26/06/19 Срд 21:09:35 1422772169
>>1420672
А чем tortoiseGIT не устраивает?
Аноним 29/06/19 Суб 15:29:27 1424561170
Хайль аноны. Есть ли какая-то программа, которая мне красиво построит карту репозитория? Чтоб со всеми мерджами, разноцветненькая и прочее
Аноним 17/07/19 Срд 18:29:43 1437708171
Вопрос по гиту
Есть один файл - постоянно меняется и он должен попадать в репозиторий. Но попадать не всегда, а только когда я этого захочу. т.е. при определенном состоянии я его буду отдельно коммитить.

В связи с чем вопрос: можно ли как-то сделать чтобы гит не следил за этим файлом? не gitignor, чтобы я мог спокойно написать git add . и добавилось все, кроме этого файла, а если надо то, чтобы я добавлял его индивидуально
Аноним 17/07/19 Срд 20:15:11 1437809172
>>1437708
Я б алиасами тупо ебнул на гит адд точка ексклюде файлнаме.
Аноним 18/07/19 Чтв 16:51:14 1438306173
image.png (42Кб, 585x278)
585x278
>>1437708
Добавляешь свой файл в .gitignore. После этого "git add ." будет добавлять в индекс всё, кроме него. А вот "git add -f <твой_файл>" будет вручную добавлять именно его (без -f просто ругнется и выдаст подсказку, так что не забудешь).
Аноним 18/07/19 Чтв 21:00:43 1438471174
>>1437708
>можно ли как-то сделать чтобы гит не следил за этим файлом?
>не gitignor
Ты ебанутый?
Аноним 19/07/19 Птн 23:42:48 1439189175
submodules — да или нет?
Кто работал с ними плотно laba1?
У меня создалось впечатление, что в это дерьмо лучше не лезть, но может у кого есть противоположный опыт.
Аноним 20/07/19 Суб 00:45:49 1439217176
>>1439189
А других вариантов особо нет, когда куча разных команд ебашит. Но удаленная зависимость им не подходит.
Аноним 20/07/19 Суб 11:22:38 1439314177
>>1439217
В принципе, цель состоит в том, чтобы ебашила одна команда.А сабмодули подаются, как способ решения компоновок разных их версий и бранчей для финального продукта.
Аноним 22/07/19 Пнд 22:47:06 1440716178
>>1438306
после git add -f этот файл стал добавляться и по git add .
Почему так? И как сделать то, что я написал?
Аноним 24/07/19 Срд 06:46:36 1441374179
image.png (69Кб, 689x345)
689x345
>>1440716
Тогда сложнее. Твоя ситуация не очень характерна для гита, ты хочешь "включать/выключать" файл, при том что этот файл уже есть в дереве коммита. Тебе поможет служебная команда update-index, через нее будешь "включать/выключать", через опцию --[no-]assume-unchanged. Выполнять после каждого коммита. Можешь "git update-index --assume-unchanged test.txt" добавить в post commit хук. git help update-index тебе в помощь.

Еще момент - git add и git status работают через одни и те же механизмы. Если ты "выключишь" файл, то он не будет добавляться через git add . , но и не будет отображаться как измененный через git status
Аноним 26/07/19 Птн 16:20:54 1442950180
15627614505110.png (39Кб, 210x140)
210x140
Аноним 26/07/19 Птн 16:57:25 1442984181
>>1442950
>Github
всем кроме студентишек похуй
Аноним 26/07/19 Птн 17:08:38 1442998182
>>1442984
Где же ынтырпрайз хостится?
Аноним 26/07/19 Птн 17:10:21 1443001183
>>1442998
На своих серверах, олигофрен малолетний.
Аноним 26/07/19 Птн 17:31:49 1443007184
>>1443001
А почему на гитхаб тогда всякое выкладывает?
Аноним 26/07/19 Птн 17:35:09 1443009185
>>1443007
Потому что это как вкудахтик/линк/твитерограмм
Говно, в общем.
Аноним 26/07/19 Птн 21:08:33 1443120186
image.png (5Кб, 48x48)
48x48
>>1442950
>гит официально стал пидерским
ГитХаб только, не гит. Он последнее время всякие акции в поддержку ЛГБТ проводит, так что да.
Аноним 26/07/19 Птн 21:19:46 1443123187
>>1443120
>гит
Не, но гит тоже говно, на хуй эта ебола, где для того чтобы не поломать нужно читать книгу в 1000 страниц.
Аноним 26/07/19 Птн 22:43:49 1443165188
>>1443123
>где для того чтобы не поломать нужно не быть умственно отсталым дебилом
Поправил, не благодари.
Аноним 26/07/19 Птн 22:49:42 1443167189
>>1443165
>не быть умственно отсталым дебилом
>гитофанатик-каргокультист
Поправил
Аноним 26/07/19 Птн 22:55:55 1443170190
>>1443167
>умственно отсталый дебил
>гитофанатик
Лучше уж второе чем ты
Аноним 27/07/19 Суб 02:27:19 1443238191
image.png (500Кб, 867x729)
867x729
>>1443167
>>1443170
Не ругайтесь, противные. Лучше купите гомофотбулки, поддержите гихаб и меньшинства.
Аноним 28/07/19 Вск 15:38:10 1443942192
>>1239087 (OP)
Я вообще не шарю.
Поясните, что такое гит, пожалуйста. Из вики нихуя не понял.
Это БД с исходниками благодаря которым ты можешь модифицировать свою программу? Из этих исходников можно собирать и другие программы?
Поясните я тупой
Аноним 28/07/19 Вск 15:44:58 1443949193
15632646720480.jpg (86Кб, 720x540)
720x540
>>1443942
про гит не знаю не смогу пояснить сорри братан
могу пояснить за гитхаб - это такая буржуйская организация с котом мутантом на лого которая гнобят крымчан и продаёт лгбт футболки
Аноним 28/07/19 Вск 15:48:38 1443952194
>>1443949
>гнобят крымчан
Хорошие люди, значит.
Надо брать.
Аноним 28/07/19 Вск 17:21:27 1444014195
>>1443942
Система контроля версий. Как ты хранишь каждую новую ревизию своего проекта? Либо никак, либо копируя полностью по папочкам, верно? И тот, и другой подход неудобен очевидно, для чего и используют такие системы.
Аноним 30/07/19 Втр 13:55:32 1444880196
Мой вопрос очень тонко проходит по теме контроля версий, поэтому если сочтете, что ему тут не место, то не бейте.
Короче говоря есть приложение версии, скажем, 2.1_ru и 2.7_engb. Отличаются, кроме локализации, парой небольших функций. Два раза одно приложение ставить не хочу, т.к. занимаю драгоценное место диска одинаковой информацией. Поэтому решил копать в сторону контроля версий и переключаться между ветками, но я не знаю чем воспользоваться (слышал только про гит, но т.к. он сохраняет не дифф, а "снимок" мне кажется, что это будет тот же самый перерасход места или я просто не понял как он работает) и не уверен что вообще игра стоит свеч.
Аноним 30/07/19 Втр 17:37:04 1445018197
>>1444880
>т.к. он сохраняет не дифф, а "снимок" мне кажется, что это будет тот же самый перерасход места
Если приложения содержат одинаковые файлы, то гит сохранит их только единожды, это он умеет нативно. Довольно часто различия между двумя версиями затрагивают десяток файлов, а сотни и тысячи остальных файлов те же. Контентно-адресуемая файловая система, которой является гит, может в таком случае существенно сократить расход дискового пространства.

Ну и хотя во всяких "введениях в гит" пишут, что он сохраняет "снимки", он еще и жмет всё содержимое в т.н. .pack-файлы. В целом, для экономии места он имеет смысл. Только ведь сама программа git тоже занимает место на диске, тебя это не смущает?
Аноним 30/07/19 Втр 22:49:17 1445227198
>>1445018
Программа весит 20 гигов, если из этих 20 я сэкономлю 10-16, будет уже заебись.
Аноним 05/08/19 Пнд 18:27:06 1448528199
>>1239087 (OP)
Сколько оперативки и места на диске занимает виртуалка с линуксом и гит сервером? У меня она за 13Гб перевалила на работе (убунта без графического интерфейса). Сейчас встал вопрос об установке дома, но ресурсов мало (i3, 16Gb, HDD). Разве что оперативки вроде хватает, а вот SSD нет, да и места на диске свободного не так уж много. Вот думаю, то ли ставить виртаулку, то ли плюнуть и поискать какой-нибудь гитсервер в интернете, где есть бесплатные приватные репозитории.
Аноним 05/08/19 Пнд 18:36:02 1448532200
156494295414528[...].png (1717Кб, 960x1026)
960x1026
>>1448528
>бесплатные приватные репозитории.
Аноним 05/08/19 Пнд 18:39:10 1448534201
>>1448532
У Bitbucket же вроде были? Или закончились?
Аноним 12/08/19 Пнд 15:50:31 1451970202
Capture.PNG (34Кб, 1133x462)
1133x462
giphy.gif (2853Кб, 395x391)
395x391
Блядь, чот уже глаз дергается. Ебучий Jenkins наотрез отказывается коннектится к репозиторию в битбакете. HTTPS пробовал, SSH проверял, Credentials указывал, RSA ключи делал, жопой на компьютер садился, пиво пил, в бубен хуярил. В прошлый раз вообще без проблем все сконнектилось, а сейчас вообще пизда-нога. Есть два варианта - я неправильно указываю путь(Да я уже по всякому перепробовал) и плагин git ебет мозги. И да, это просто подключение, без webhook'a
Аноним 13/08/19 Втр 17:26:22 1452554203
>>1451970
Короче, аноны, вы не поверите. Сегодня зашел, а оно уже работает и ошибка пропала. Я нихуя не делал. 5 дней убивался, а оно само взяло и заработало. В такие моменты я ненавижу ИТ.
Аноним 13/08/19 Втр 17:51:36 1452583204
>>1239087 (OP)
1. Какой гит клиент лучший? Пользуюсь Fork, но он, например, не дает засквошить 5 коммитов подряд - приходится по одному сквошить.

2. Что почитать про кубернетис\докер? Незнакомые слова и выкладкой я не занимался. Максимум что знаю что дженкинс это тулза на жабе которая принимает проект и как то собирает. Ну чтобы вкатываться в это дело, с чего лучше стартовать.
Аноним 13/08/19 Втр 17:55:59 1452585205
Анон, есть локал проект, нужно чтобы после коммита в бд записывалось сообщение коммита, автор и дата. Как это и возможно ли сделать?
Аноним 13/08/19 Втр 18:47:13 1452623206
Нужен вершион контроль для фотошопа и фоточек с 100мб+. Меркуриал брать?
Аноним 14/08/19 Срд 20:58:44 1453442207
>>1452623
SVN или Perforce. Ну или специализированные, например Alienbrain или Adobe VersionCue
Аноним 16/08/19 Птн 22:27:11 1454716208
>>1452623
Меркуриал хранит дельты в том числе и для бинарных файлов. Вопрос только в том, что там фотошопе - будут ли файлы при изменении полностью обновляться или частично.

>>1452585
Да можно - это называется commit hook. Есть в git, Mercurial, SVN.
Commit hook это просто скрипт который испольняется во время коммита, если верент 0 - коммит пройдет, иначе сфейлится. Если у тебя линукс то реализовать его можно на любом скриптовом языке который есть в системе: bash, perl, Python, Ruby... Если винда - то придется писать бат файл который вызовет твою программу или писать в бат файле логику.
Аноним 20/08/19 Втр 23:47:50 1457211209
image.png (5Кб, 553x123)
553x123
Что произойдет при попытке мержа из dev1 в master, если dev2 уже была смержена?
Аноним 21/08/19 Срд 00:02:56 1457226210
>>1457211
Ничего не произойдёт, придётся разгребать конфликт слияния. Или не придётся, в зависимости от того, что в ветке было.
Аноним 21/08/19 Срд 00:16:02 1457232211
image.png (6Кб, 712x123)
712x123
Аноним 21/08/19 Срд 00:40:11 1457244212
>>1457232
>в зависимости от того, что в ветке было
Если ты хочешь гарантированно избежать конфликтов, то перед пул реквестом в мастер вмержи его в dev1.
Аноним 21/08/19 Срд 00:47:35 1457247213
>>1457244
Это понятно, я просто не пойму, в каком месте коммиты из dev2 окажутся в мастере после мержа dev1. В середине или в конце?
Аноним 21/08/19 Срд 00:58:13 1457252214
>>1457247
Коммиты из dev2 окажутся в master до мержа dev1. Там же на картинке явный мерж dev1 в master, за один комит до dev2 в master.

По идее те 3 коммита которые общие для dev1 и dev2, не должны вызывать конфликтов, но бывают исключения на сложных мержах.

и вообще способность git-а резолвить конфликты СИЛЬНО преувеличена
Аноним 22/08/19 Чтв 17:17:19 1458577215
ап
Аноним 24/08/19 Суб 07:20:50 1459741216
а
Аноним 28/08/19 Срд 17:08:56 1462696217
>Speaking as someone who lost an entire day to SVN merge problems, I do not like it. I actually started using git or mercurial when forced to use SVN, then did a git checkout last-svn-sync && svn update && git checkout HEAD && svn checkin. At least if I had merge problems I still had a backup then.
Так и есть или челик ниасиливает?
Аноним 28/08/19 Срд 22:08:38 1462835218
>>1462696
Как по мне - способность git-а разрешать конфликты сильно преувеличена. Да получше чем SVN, но не идеально. Бывает так что один раз вмержил изменения из мастера, порезолвив все конфликты, перед пул реквестом снова мержишь мастер и получаешь ровно те же, порезолвленные конфликты.
Аноним 04/09/19 Срд 01:19:34 1466663219
Ярчайшие представители сексуальных меньшинство из BitBucket анонсировали, что они скоро дропнут Mercurial в пользу Git.
Кто какие тулзы юзал для конвертации Mercurial в Git?
Аноним 10/09/19 Втр 04:26:30 1470838220
image.png (115Кб, 855x692)
855x692
Аноним 10/09/19 Втр 12:24:42 1470959221
14886231574820.png (652Кб, 1291x879)
1291x879
>>1452554
>>1451970
Ебаный атлассиан, ебаный битбакет! "Мы выпустили обновление, которое значительно облегчит вашу жизнь!" и разумеется дженкинс опять отвалился от битбакета. Ебануться-туфли гнуться.
Аноним 10/09/19 Втр 22:23:51 1471439222
Аноним 10/09/19 Втр 23:44:46 1471483223
>>1470959
Используйте клауд, говорили они.
Клауд это надежно, говорили они.
Обо всем позаботятся наши инженеры, говорили они.
Мы сами позаботимся об обновлениях, говорили они.

Как говорил Столлман:
> Google Docs работает не на вашем компьютере, так что вы кладёте свои документы на чей-то сервер и этот кто-то имеет контроль над обработкой ваших данных. Это ошибка. Вы должны работать со своими документами на своём компьютере при помощи собственной копии свободной программы, которая находится под вашим контролем.
Аноним 11/09/19 Срд 01:27:17 1471519224
1gObE4AT-KTFMHq[...].jpeg (110Кб, 1280x720)
1280x720
>>1471483
>Google Docs
Типа гитоговно не так работает. Поставил fossil и смотрю на гитоутят с презрением.
Аноним 11/09/19 Срд 03:24:23 1471556225
>>1471519
>Типа гитоговно не так работает.
гитоговно работает хуже, очевидно
но никто не мешает тебе мастер гит поставить на СВОИХ серверах
Аноним 11/09/19 Срд 04:58:19 1471579226
>>1471556
>мастер гит поставить на СВОИХ серверах
Ебал я в рот такого франкенштейна оживлять. Там наверное манул на 500 страниц, к манулу по гиту на 500 страниц. Короче, скоро в вузах специальность будет, администрирование гит.
Аноним 11/09/19 Срд 09:24:38 1471636227
>>1471579
Но тебе же не нужны все 500 страниц.
Аноним 11/09/19 Срд 13:12:29 1471734228
>>1471636
>Но тебе же не нужны все 500 страниц
Конечно, мне нужно джве комманды пуш и коммит, но потом если что пойдет не так бегать с порванной жопой по аналогичным трхедикам.
Аноним 11/09/19 Срд 14:46:54 1471781229
>>1471579
Поэтому я на своем серваке держу цвс или свн и в хуй не дую.
За 20 лет программирования за деньги еще ни разу не видел ситуации, в которой гит мне дал бы того, чего не дал бы даже доисторический цвс.
Уж на что я матерился на цвс, но на гит я матерюсь чаще и больше.
Аноним 11/09/19 Срд 21:20:40 1472000230
>>1471781
>в которой гит мне дал бы того
Вероятно когда 200500 макак со всего света срут без координации своим гвнокодом в репу, то гит даст преимущество, но я не уверен.
Аноним 11/09/19 Срд 22:17:44 1472044231
>>1472000
Ну да, в треде это уже где-то упоминали. Гит заточен под бородатых олдов из 70-х, пишущих монструозное ядро линукс всей своей пиздабратией по всему миру, а не под молодых шутливых веб-макак с пет-проектами. Но гитхаб так расхайпал систему, что теперь все используют гит.
Аноним 12/09/19 Чтв 02:21:34 1472097232
>>1472000
Ну, меня бог миловал
У меня с гитом постоянно какая-то засада
Наверняка, мне объяснят корифеи, что я нихуя не умею им пользоваться, но и по хую
Ни с одной другой системой контроля версий мне не приходилось спрашивать коллег, видят ли они мои изменения в репе.
А с гитом иной раз приходится

>>1472044
>не под молодых шутливых веб-макак с пет-проектами.
Еще раз - 20 лет промышленного программирования, причем тут молодые с пет-проектами?

В общем, может, когда-нибудь мне толком объяснит, чего я себя лишаю, не пользуясь гитом на постоянной основе
Аноним 12/09/19 Чтв 03:44:34 1472104233
>>1471781
>За 20 лет программирования за деньги еще ни разу не видел ситуации, в которой гит мне дал бы того, чего не дал бы даже доисторический цвс.
Ну вот ты и стал стариком, не желающим развиваться. Был бы молодым, тебе бы пригорело и ты бы сидел и изучал, пока не понял. А тут "эээ йоба я старый и самый умный тут, у меня же 20 лет епты, не понимаю - нахуй это". Скоро превратишься в тех динозавров, которые в 50 лет на делфи 7 сидят.

>В общем, может, когда-нибудь мне толком объяснит, чего я себя лишаю, не пользуясь гитом на постоянной основе
В основном нормальных веток кода. Эксперименты, коммиты с отладочным кодом, мержи-хуержи, все этого и лишаешь.
Аноним 16/09/19 Пнд 23:24:05 1474947234
Парни, пожалуйста. Хочу строить красивую "карту" репозитория. Чтоб ветки были, сличния, коммиты хотя бы точечками xnj, обозначались. Хочется посмотреть на то, что мы делали все эти годы. Не уже ли нет никаких готовых решений для этого?
Аноним 16/09/19 Пнд 23:26:12 1474949235
>>1474947
Под гит, разумеется. Конкретнее - залито все это на гитхаб. Ну я не верю, что нет готовой визуализации
Аноним 17/09/19 Втр 00:36:52 1474975236
>>1474949
Мы юзали gfc.io, но по факту, набольших проектах, это совершенно бесполезная херня из-за особенностей работы с ветками. Получаешь нечитаемый граф.
Аноним 17/09/19 Втр 02:47:48 1475001237
image.png (317Кб, 1530x873)
1530x873
image.png (70Кб, 1014x713)
1014x713
>>1474947
Самое простое что есть - это gitk (идет в стандартной поставке гита). Если вы хоститесь на гитхабе, то там есть встроенный функционал, и думаю 100% есть у гитлаба и битбакета.

Красивость так себе, но граф коммитов все способы показывают.
Аноним 18/09/19 Срд 11:26:28 1475907238
Аноним 18/09/19 Срд 15:54:40 1476137239
если на основе репо свн создать гит, то в свне не появится никаких признаков этого (не считая логов подключения и выкачивания ревизий)?
И на сколько чувствителен git-svn к обрывам линии при клонировании/обновлении репо?
GIT Аноним 18/09/19 Срд 22:32:14 1476454240
Как в .gitignore запретить файлы с определенным расширением по всему проекту, но разрешить их в одной конкретной папке?
Аноним 18/09/19 Срд 22:47:25 1476467241
>>1476454
Так не работает или что?
.xyu
!path/to/
.xyu
Аноним 18/09/19 Срд 22:48:57 1476469242
>>1476467
А, ну да.
[asterisk].xyu
!path/to/[asterisk].xyu
Аноним 19/09/19 Чтв 01:59:20 1476553243
Почему когда я пушу на гитхаб в ветку отличную от мастера, то в статистике моей активностиповышающей мое ЧСВ это не помечается?
Аноним 19/09/19 Чтв 08:30:21 1476604244
image.png (53Кб, 723x360)
723x360
Аноним 20/09/19 Птн 19:42:08 1477774245
Я как-то пропустил событие, а оказывается уже с января этого года Гитхаб предлагает приватные репозитории бесплатно:
https://github.blog/2019-01-07-new-year-new-github/

Ограничения небольшие, для одиночек несущественные:
>private projects with up to three collaborators per repository for free
Теперь Битбакет не нужен.
Аноним 20/09/19 Птн 20:25:31 1477796246
>>1477774
>git
>hub
Ебается с частотой сервисов сбербанка, принадлежит майкрософту.
Да, жри говно, жри.
Аноним 22/09/19 Вск 13:09:38 1478982247
1494077569152.jpg (67Кб, 700x700)
700x700
Посоны, нид хелп по git.
Владею им на уровне Google-джуниор.

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

Пробовал через бранчи - но блять при слиянии постоянно возникают конфликты, и в итоге нихуя не получается слить в одну ветку таким образом, чтобы код остался и из дома, и из офиса. Гуглить заебался просто.

Подскажите, что мне делать в этой абсолютно типичной ситуации?
спасибо
Аноним 22/09/19 Вск 13:47:06 1479007248
>>1478982
Нормально писать код, чтобы не вызывать конфликтов?
Сделай ветку "alwaysfetch", сделал изменения в офисе -- запушил в эту ветку изменения. Пришел домой -- пульнул, внес изменения, запушил в эту ветку. И так каждый раз.
Или сделай буффер-ветку и ветки для офиса/дома и пушь в них соответственно, ресолвя конфликты лишь при мерже в буффер. А с буфера уже в тестинг или куда ты там после этого мержишь.
Вообще твоя проблема именно в том, что ты пишешь код асинхронно, затрагивая одни и те же части кода в разных "версиях", тем самым вызывая проблемы при мерже. Поэтому или следи за тем как пишешь код или делай васянство с ветками, как я выше описал
Аноним 22/09/19 Вск 14:05:44 1479025249
>>1479007
>сделал изменения в офисе -- запушил в эту ветку изменения. Пришел домой -- пульнул, внес изменения, запушил в эту ветку

Я так и делаю, только в мастер. И блять через раз возникают какие-то блядские конфликты, которые не связаны с написанным кодом (допустим появился новый файл в офисной версии, и появился другой новый файл в домашней версии), и мне приходится вручную копировать файлы, т.к. git просто не дает сделать merge. Только какие-то жесткие ресеты и т.д.

При этом, код у меня лежит удалённо на сервере с Debain 9, и правлю я его с Win10 phpStorm, который сука так же создает локальную копию. Сетап супер уебанский, но хуле ещё делать я не знаю. Может, подключить удаленный диск локально и как-то напрямую его править без ебучей VCS, а делать бекапы?
Аноним 22/09/19 Вск 14:07:55 1479030250
>>1479025

в phpStrom я git отрубил, т.к. это добавляло новый уровень пиздеца.
Делаю коммиты вручную так:

git add .
git commit -m "Hue moe"
git push origin master
Аноним 22/09/19 Вск 14:09:56 1479032251
>>1479025
>Только какие-то жесткие ресеты и т.д.

В одну из таких ебаных операций я тупо потерял код, написанный за день. Без возможности его вернуть. Охуенная система контроля версий, надежная блять как швейцарские часы.
Аноним 22/09/19 Вск 15:12:38 1479090252
156897513218675[...].jpg (115Кб, 700x754)
700x754
>>1239087 (OP)
Чет ору с трхеда, легче копипастнуть файл и создать его копию, чем пердолится с этим гитом превозмогая здравый смысл и время.
Аноним 22/09/19 Вск 15:53:07 1479128253
>>1479090
>легче копипастнуть файл и создать его копию
Торвальдс наверняка так ядро и пишет, проще же.
Аноним 22/09/19 Вск 16:01:23 1479131254
>>1239411
Я работаю на довольно известную компанию с кастомной монорепой, у нас в ней хранится абсолютно вся история. Но вот бранчей по факту нет, вернее есть какое-то подобие, но rebase в привычном понимании нет от слова совсем. Скучаю по гиту пиздец.
>>1479090
Если ты в одиночку работаешь над проектом, то разумеется. Но и только до тех пор, пока не решишь параллельно пилить несколько крупных фичей.
Аноним 22/09/19 Вск 16:16:59 1479145255
>>1479128
>Торвальдс
Этот пидарас-говнокодер, который не может в архитектуру
>>1479131
>параллельно пилить несколько крупных фичей
Пилишь фичи в отдельном файле, тестируешь, затем вставляешь в нужные.
Аноним 22/09/19 Вск 16:18:54 1479148256
Чем сраться тут, лучше бы мне чего посоветовали
Аноним 22/09/19 Вск 16:21:18 1479151257
>>1479090
А когда у тебя фича в трех файлах?
Аноним 22/09/19 Вск 16:40:09 1479183258
>>1479145
Ты не понял. Вот у тебя проект в хотя бы десятке файлов. Фичи большие и меняют логику 5 из них, и при этом, возможно, они пересекаются, то есть меняют один и тот же участок кода, но разными способами. Пилишь ты их несколько месяцев, при этом, скорее всего, параллельно фиксишь мелкие баги в мейнстриме. С отдельными файлами ебанешься на отличненько такое разруливать и мержить потом. И это ты один проект свой колупаешь. А представь теперь несколько человек над ним параллельно работают.
Аноним 22/09/19 Вск 16:47:24 1479195259
>>1479183
Убедил, а чем тогда остальные системы контроля хуже?
Аноним 22/09/19 Вск 16:48:01 1479197260
>>1479148
>лучше бы мне чего посоветовали
Съешь зефирку
Аноним 22/09/19 Вск 16:50:59 1479200261
>>1479195
они менее популярны
Аноним 22/09/19 Вск 16:59:03 1479204262
>>1479195
Линейные (SVN) хуже тем, что там то же самое копирование папочек, это чисто механизм бэкапа, а не контроль версий.
Меркуриал хуже тем, что они в рамках "простоты для пользователя" понаделали какой-то хуйни, когда pull/commit/push делается просто, а все остальное - ужасно. Когда понимаешь, что гит - это блокчейн-граф, он резко перестает быть сложным.
Fossil не трогал, может оно и хорошо для мелких проектов, но, опять же, если git работает, зачем париться.
Аноним 22/09/19 Вск 17:14:09 1479210263
Как жить с гитом, если на проекте есть репа фактически с одной веткой? Туда нон-стоп летят сотни коммитов, пока ты свой коммит добавишь, уже сново нужно делать пулл, но нет, у вас конфликт, а конфликта нет, тк файлы разные, но все равно мержите плииииз, никаких пушей, и если успел помержить до нового пуша кем нибудь, то ты пушишь мерж реквестом, и все коммиты становятся как будто твои.. ВТФ?
Аноним 22/09/19 Вск 17:45:58 1479227264
>>1479210
Я бы энфорсил git-flow и ротацию RelEng роли среди всех fulltime контрибьюторов. Пусть еще сперва только у владельца репы будут права на запись в мастер, но его задача будет лишь аппрувить мерж релиз ветки.
Аноним 22/09/19 Вск 23:35:32 1479555265
image.png (266Кб, 768x577)
768x577
>>1479025
>Я так и делаю, только в мастер.
Аноним 22/09/19 Вск 23:56:26 1479566266
>>1479555

это мой личный проект, находится на стадии разработки. не вижу причин не пушить в мастер, а городить ветки
Аноним 23/09/19 Пнд 22:33:18 1480401267
Чем Git Kraken лучше Github Desktop? Почему я должен за него заплатить?
Ну и вообще, какой по вашему мнению лучший графический клиент и почему
Аноним 24/09/19 Втр 01:09:36 1480494268
>>1479566
>это мой личный проект
Тред начинается с
>>1478982
>Пробовал через бранчи
Тебе с таким подходом вообще SVN нужен. Вот серьезно.
https://sliksvn.com/signup/
Аноним 24/09/19 Втр 01:22:28 1480498269
Аноним 25/09/19 Срд 16:05:26 1481566270
1576584320.png (11Кб, 420x170)
420x170
Ёб твою мать... Open source, хули. Free software. Жрите, не подавитесь.
Аноним 25/09/19 Срд 20:55:17 1481715271
>>1481566
Тебе повезло, что ты не имел дел с win api, или например ole. После этого стал бы молиться Столлману перед сном.
Аноним 25/09/19 Срд 23:31:58 1481805272
>>1481715
Слава богу, Столлман никакого отношения к git не имеет!
Аноним 26/09/19 Чтв 01:49:21 1481870273
>>1481715
>Тебе повезло, что ты не имел дел с win api
А что там не так?
Аноним 26/09/19 Чтв 11:40:02 1482035274
Аноним 26/09/19 Чтв 11:40:35 1482036275
>>1479131
Пользуй fig, будет зависимость.
Аноним 26/09/19 Чтв 14:37:26 1482220276
>>1481870
в винапи все ок
слишком многословно, но со стандартами именования - все ок
Аноним 26/09/19 Чтв 14:46:27 1482245277
>>1482220
>в винапи все ок
А с гитом нет. Гит говно, смирись и принимай как данность.
Аноним 26/09/19 Чтв 21:25:46 1482544278
Аноним 27/09/19 Птн 01:04:11 1482708279
>>1482245
Ну, мне-то можешь не рассказывать, и сам знаю
Аноним 07/10/19 Пнд 01:00:26 1490687280
image.png (27Кб, 757x135)
757x135
В последнем Git-e v2.23 команду `checkout` разделили на две. Из-за того, что она выполняет 2 функции сразу: смену ветки и восстановление файлов в рабочем дереве. Теперь есть `git switch [-c]` и `git restore`. Ну и старую ессно оставят, для обратной совместимости.

https://github.blog/2019-08-16-highlights-from-git-2-23/
Аноним 07/10/19 Пнд 01:16:22 1490691281
>>1490687
Помню в комментариях каких-то кто-то написал себе алиасы подобные, так его за такое говноедом обозвали или что-то такое.
Вот думаю до сих пор почему? Или это сущность русни или просто долбоёбы?
Аноним 28/10/19 Пнд 02:47:19 1507153282
Тредик не тони.
Аноним 31/10/19 Чтв 19:46:45 1510093283
Аноним 03/11/19 Вск 21:42:55 1512377284
Оказывается, скрипт миграции с Mercurial на Git есть в самом репозитории гита, причем написан очень давно. Скрипт на пистоне:
https://github.com/git/git/tree/master/contrib/hg-to-git

Ну и в книге ProGit есть описание миграции, там другой скрипт используется: >>1470838

Битбакет прекращает поддержку Меркуриала к 1 июня 2020 года:
https://bitbucket.org/blog/sunsetting-mercurial-support-in-bitbucket
Аноним 03/11/19 Вск 21:57:34 1512405285
Аноним 11/11/19 Пнд 20:52:56 1518905286
image.png (14Кб, 499x206)
499x206
Помогите. Имел тупость сделать initial commit без gitignore и в проект попал весь мусор из IDE и скомпилированных файликов.
Добавил гитигнор, (git add .) (git commit -m "foo") (git push),
а мусорные файлы так и остались в проекте. Что делать? Пробовал и чистить гитигнор и заново делать.

вот gitignore https://pastebin.com/addWZvE9
Аноним 11/11/19 Пнд 21:05:51 1518916287
>>1518905
Простите, я сам сделал.
git rm --cached /папки и файлы/
Вы наверное уже набирали развернутые ответы своими благородными руками, а я вас подвёл.
Аноним 11/11/19 Пнд 21:12:35 1518920288
>>1518916
Bсе равно окончательно помогла ide, некоторые файлы светились красным как неиндексируемые, хотя были в гитигноре. Мне помогло ПКМ -> Git -> add to .gitignore
Аноним 12/11/19 Втр 09:27:32 1519152289
>>1518905
>>1518916
>>1518920
Нахуя ты пердолишься с cli? Родина тебе дала графические средства, нет не хочу, хочу жрать консольное говно.
Аноним 12/11/19 Втр 12:25:02 1519240290
>>1519152
Но консоль трушнее. Да и github desktop на electron написан, это плохо.
Аноним 13/11/19 Срд 21:31:29 1520463291
>>1519240
>трушнее
Ты совсем дебил? Тебе работу делать и деньги зарабатывать, или в трушность играть?
>github desktop на electron написан, это плохо
Тебя ебет, на чем он написан? Ты в данном случае конечный пользователь, тебе вот куда уперлась инфа о том, на чем написано приложение, которым ты пользуешься, чтобы сократить 10 минут ебли до одного клика мыши?
Аноним 13/11/19 Срд 21:38:47 1520465292
image.png (287Кб, 600x315)
600x315
Луший гуй - Fork, быстра, чОтка, без всяких электронов
Аноним 13/11/19 Срд 21:48:27 1520472293
>>1520463
Ну хуй знает, я пользовался им и чувствовал себя ламером!
Консольный гит все равно нужно знать, не везде на галерах гуёк юзают. И под линукс есть только неофициальная реализация.
Вообще консоль всегда мощнее и понятнее гуя, где нужно тыкаться в кнопочки, галочки и прочие controls, но естественно в консоль выше порог вхождения и она более задротская.
Аноним 14/11/19 Чтв 05:40:47 1520614294
>>1520472
>я пользовался им и чувствовал себя ламером
Ну так разберись со своим комплексом неполноценности.
>Консольный гит все равно нужно знать, не везде на галерах гуёк юзают
Чего блять? При чем тут галера вообще? От тебя требуется вовремя коммитить и вовремя мерджить, кому нахуй какая разница, как ты это делаешь -- пердолясь в срачельник консолькой, или нажав на одну кнопку? Тут вопрос ставится о минимизации количества времени, которое ты потратишь на выполнение этих действий, а не на то, насколько "трушно" ты закоммитил свою feature1. Знать надо возможности, которые git предоставляет, и уметь ими пользоваться, а не зубрить формат очередной охуительной консольно-пердольной команды.
>И под линукс есть только неофициальная реализация
В любую иде не из каменного века по дефолту встроены базовые возможности для работы с VCS, которых тебе хватит для примерно 90% случаев.
>консоль всегда мощнее и понятнее гуя
Дружище, скажи честно, тебе 15 лет? Ты сам ради простейшего действия аж три поста написал в /зк/, настолько твоя любимая консоль мощная и понятная. А мог бы ткнуть в кнопку и не ебать себе мозг, причем это ты мог бы сделать, даже будучи в стельку бухим. Объясни мне, в чем мощь и понятность инструмента, для использования которого надо держать в голове два десятка разных команд, опций для этих команд, формат аргументов, которые они принимают, последовательность, в которой их нужно выполнить, когда есть инструмент с двумя кнопками, которые позволяют делать все ровно то же самое, только быстрее, интуитивнее и без пердолинга в срачельник?
Если б ты промышлял писанием каких-нибудь скриптов на баше, или прочей подобной хуйней, тогда пердолирование консоли еще как-то оправдано. Но если ты код пишешь в одном месте (в ide), а версии пердолишь в другом (в консоли), то ты просто разрываешь свой workflow, таким образом уменьшая производительность своего труда.
Аноним 14/11/19 Чтв 05:46:48 1520615295
>>1520614
Ты пиздишь, либо инструмент не с двумя кнопками, а с кучей меню и подменю, либо в консоли это делается так же быстро
Аноним 14/11/19 Чтв 05:59:22 1520617296
>>1520615
Доебался до фигуры речи. Окей, пусть будет с десятью кнопками, которые все подписаны, расположены эргономично и каждая из которых эквивалентна пяти пердокомандам, что это меняет?
Аноним 14/11/19 Чтв 10:20:51 1520675297
>>1520614
Какая разница, консоль или гуй, если я забыл гитигнор делать, файлы надо от индекса вручную отрывать.
>В любую иде не из каменного века по дефолту встроены базовые возможности для работы с VCS, которых тебе хватит для примерно 90% случаев.
У меня в IDE есть, для обычных коммитов сойдет.
>Дружище, скажи честно, тебе 15 лет? Ты сам ради простейшего действия аж три поста написал в /зк/, настолько твоя любимая консоль мощная и понятна
Так бля понятное дело, я ведь ньюфаг в консольном гите. Я интуитивно в ней разобрался, только посмотрел короткий гайд, где показаны add commit push pull, про последние три я и так знал.

И на говнокомпах 32-бит не запустишь гит десктоп.

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




Аноним 14/11/19 Чтв 13:14:34 1520880298
>>1520675
>я забыл гитигнор делать, файлы надо от индекса вручную отрывать
А в гуе ты бы просто выделил untracked файлы и сделал remove.
>И на говнокомпах 32-бит не запустишь гит десктоп.
На говнокомпах 32 бит и четыре гб ОЗУ не заюзать, при том что тупо браузер + андроид студия отжирают три, и что теперь?
>Для пердоленья со слиянием и разбиением веток думаю можно скачать
Так блять, мердж - это как раз самое главное, для чего вообще git и нужен, если ты работаешь над проектом больше, чем в одно рыло.
>базовые вещи типа коммита буду лучше делать из ide'шного терминала
Но зачем, если есть кнопочка commit, которая сделает то же самое, только в сто раз быстрее?
Аноним 14/11/19 Чтв 13:27:04 1520895299
>>1520880
> Но зачем, если есть кнопочка commit, которая сделает то же самое, только в сто раз быстрее?
Альт таб делать не быстрее. Ты же сам сказал не разрывать workspace.
Аноним 14/11/19 Чтв 13:33:22 1520899300
>>1520895
Зачем делать альттаб, если в ide прям на тулбаре есть кнопочка коммита?
Аноним 14/11/19 Чтв 13:43:25 1520910301
>>1520899
Push надо тыкаться на тулбаре vcs -> git -> push
А pull и commit удобно вверху расположены.
Ну хоткеями еще могу.
Аноним 14/11/19 Чтв 14:36:26 1520981302
>>1520910
Емнип, в идее тулбар конфигурабельный, так что можешь туда и пуш вытащить.
Аноним 15/11/19 Птн 23:54:30 1522181303
>>1520899
Я перед коммитом запускаю gitk и смотрю, что я исправлял, а потом коммичу.
Аноним 16/11/19 Суб 22:09:54 1522920304
Вы коммитите каждое маленькое изменение, или только когда какой-то кусок функционала закончен? Фиксапы и аменд-коммиты часто применяете?
Аноним 17/11/19 Вск 03:38:44 1523013305
.png (4Кб, 933x135)
933x135
Жёлтый строка коммит - инициализвация.
Потом красный, небольшой фикс хуиты.
Следующий красный тоже небольшой фикс хуиты (которую забыл поправить в предыдущем). Его решил сделать через commit --amend, но что-то пошло не так (наверное я свой пароль неправильно набрал в консоли) и нихуя не вышло закоммитить.
Он предложил мне сделать пул. В итоге специально что-то изменил (название переменной чтобы изменение было) и решил опять через --amend. уже ввёл пароль внимательнее и всё ок.
Но вот вышла такая хуита на пикче.

Как это исправить?
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов