From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00, DNS_FROM_AHBL_RHSBL, RP_MATCHES_RCVD autolearn=no autolearn_force=no version=3.4.0 Message-ID: <55067F26.2040104@kemsu.ru> Date: Mon, 16 Mar 2015 13:58:46 +0700 From: REAL User-Agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: ALT Linux Team development discussions References: <201503152233.40496@ruslandh> <201503160916.46412@ruslandh> <5506798D.2080502@kemsu.ru> <201503160942.33335@ruslandh> In-Reply-To: <201503160942.33335@ruslandh> Content-Type: text/plain; charset=koi8-r; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [devel] git X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 06:58:48 -0000 Archived-At: List-Archive: List-Post: 16.03.2015 13:42, Hihin Ruslan пишет: >> И при каждом "git remote >> update" получаем последние версии как в сизифе, так и у себя >> на "свалке" на git.alt (очень полезно, когда хочется >> поработать и на работе, и дома продолжить, не таская всё на >> флэшке). > > а вот с этого места поподробнее :) Давайте возьмём к примеру пакет trilinos (я его новую версию уже вторую неделю ковыряю), но, допустим, я только начал, и у меня есть только новые исходники, но и только. Следующие действия были бы одинаковы и на работе, и дома: 1. git clone git.alt:packages/trilinos.git cd trilinos При этом "origin" создаётся автоматом, и источникм служит git.alt:packages/trilinos.git . 2. Подтягиваю себе то, что собрано в сизиф: 2a. git remote add gears git.alt:/gears/t/trilinos10.git (исторически сложилось так, что суффикс у него 10, и я его не меняю, ибо при смене версии не ломается ABI). 2b. git remote update gears 3. Проверяю, не заливал ли кто обновлений: git merge gears/sisyphus Если git сказал, что обновлений не найдено, значит, хорошо, если они были, разрулив конфликты, 4. тут же заливаю обновления себе на git.alt: git push --all origin git push origin --tags Теперь представим, что я на работе, у меня тут скачаны новые исходники, я их положил, закоммитил, залил на git.alt (см. шаг 4). Далее делаю всякие неизбежные вещи вроде правки спека, исходников и прочее. Звенит будильник, говоря, что пора домой, а работа в самом разгаре. Делаю коммит всего, что натворил, заливаю на git.alt (см. шаг 4). Прихожу домой, захожу в каталог trilinos, делаю git remote update git merge origin/master Таким образом, всё, что на работе натворил, дома оказывается у меня под рукой. Дальше обычно делается diff того, что натворил на работе (кроме укладки новых исходников), убивается последний коммит, прикладывается сгенеренный diff, получается в точности ситуация, которая была к моменту звонка будильника. -- REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ