[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