[devel] Отпрвка репизитария на git.alt
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Пн Апр 9 13:31:39 MSD 2007
On Mon, Apr 09, 2007 at 11:39:56AM +0400, Eugene Prokopiev wrote:
> Перед отправкой:
>
> $ git-branch
> dbmail_2_2
> * srpms
>
> $ git-show-ref
> 30f7175ef6fc270c42024820455e59c9b5866c1c refs/heads/dbmail_2_2
> 350fb9d63f4e90636eca217bb1c8f75922009319 refs/heads/srpms
> 5c6384de1eee3de9e74be9f2d6f4df214b7a0c78 refs/tags/2.2.4-alt1
> f670fe9e78fc328349ed5f6d118930eee6394410 refs/tags/dbmail/2.2.4.200704090940
>
> Оправка:
>
> git-push --repo=all git.alt:packages/dbmail.git
>
> Затем делаю git-clone git.alt:packages/dbmail, перехожу в каталог dbmail
> и в нем вижу:
>
> $ git-branch
>
> $ git-show-ref
> 30f7175ef6fc270c42024820455e59c9b5866c1c refs/remotes/origin/dbmail_2_2
> 350fb9d63f4e90636eca217bb1c8f75922009319 refs/remotes/origin/srpms
> 5c6384de1eee3de9e74be9f2d6f4df214b7a0c78 refs/tags/2.2.4-alt1
> f670fe9e78fc328349ed5f6d118930eee6394410 refs/tags/dbmail/2.2.4.200704090940
>
> Куда делись мои бранчи?
По умолчанию git-clone помещает все бранчи (refs/heads/*) исходного
репозитория в refs/remotes/origin/* в локальном репозитории. Имя origin
можно сменить опцией --origin=<name>.
Обычный бранч после git-clone создаётся только один - это тот бранч, на
который в исходном репозитории указывала ссылка HEAD. В данном случае
HEAD указывает в refs/heads/master (способа изменить ссылку через git-push
вроде бы не существует), при этом бранча master нет, поэтому git-clone не
создаёт ни одного бранча.
После выполнения git-clone можно создать нужные бранчи для работы:
git branch dbmail_2_2 origin/dbmail_2_2
или с одновременным выполнением checkout:
git checkout -b dbmail_2_2 origin/dbmail_2_2
Можно ещё добавить опцию --track, или сконфигурировать репозиторий таким
образом, чтобы --track использовалось по умолчанию:
git config branch.autosetupmerge true
Тогда при выполнении git-pull, когда бранч, созданный с опцией --track,
является текущим, в этот бранч будут смержены изменения из того
репозитория и бранча, который был указан вторым параметром git-branch.
> Другой вопрос: что нужно написать в Push: в .git/remotes/origin (сейчас
> он не используется), чтобы отправлять все содержимое репозитария?
По умолчанию git-push отправляет все бранчи, присутствующие как в
локальном, так и в удалённом репозитории, поэтому дополнительные действия
требуются только при необходимости выложить новый бранч, которого ещё нет
на другом конце. Можно использовать git push --all, но указать эту опцию
в конфигурации нельзя (кроме того, в этом случае будут отправлены и ссылки
из refs/remotes/, что обычно нежелательно).
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: Digital signature
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20070409/aa63967a/attachment-0001.bin>
Подробная информация о списке рассылки Devel