The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"git и subversion"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"git и subversion"  
Сообщение от VAS (??) on 31-Дек-08, 03:34 
Приветствую и с наступающим.

Портирую загрузчик uboot на ARM-based платформу. У себя держу все репозитарии в subversion, но разработчики uboot пользуются GIT-ом.
Вопрос в том, как организовать процесс правильно - нужнно будет регулярно обновлять дерево сырцов u-boot из официального репозитория; далее, очевидно, создавать свою локальную ветку, в которой работать, и складывать содержимое этой ветки в свой svn. Дело в том, что плохо знаю git, надеюсь знатоки подскажут что делать.

СПасибо.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "git и subversion"  
Сообщение от Andrey Mitrofanov on 31-Дек-08, 09:13 
>Дело в том, что плохо знаю git, надеюсь знатоки подскажут что делать.

Сделать над собой усилие?...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "git и subversion"  
Сообщение от VAS (??) on 31-Дек-08, 11:10 
>>Дело в том, что плохо знаю git, надеюсь знатоки подскажут что делать.
>
>Сделать над собой усилие?...

можно, но в каком направлении курить документацию? Если можно - конкретно необходимые команды git'a (их там сотни!) - про git-clone, git-pull, git-checkout в курсе. А вот какой командой вытащить мой тестовый бранч в отдельный каталог, который я потом желаю закоммитить в svn?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "git - Quickest User Учебник"  
Сообщение от Andrey Mitrofanov on 31-Дек-08, 13:04 
>>>Дело в том, что плохо знаю git, надеюсь знатоки подскажут что делать.
>>
>>Сделать над собой усилие?...
>
>можно, но в каком направлении курить документацию? Если можно - конкретно необходимые
>команды git'a (их там сотни!)

Пункт 0. Забыть про "сотни команд". Выдохнуть-расслабиться. Уяснить, что все изменения делаются в одной локальной директории (пока нет или не используется право на запись в/на др.дир./удалённый сервер). Файлы - просто файлы, всё в ./.git/ - :) гитово.

Сделать... :)) на одном компьютере один раз (_свои_ координаты, само собой, вписать).
git config --global user.email "send@letters2.me"
git config --global user.name "Ivanoff Ivann"

Пункт 1. Чтобы "сесть и поехать" (со своего _пустого_ репо), нужны _ровно_
git init
git status
git diff
git add <file>...
git commit -a
git log
_Ровно_ в таком виде и только эти команды. Плюс проект, который и. Cвой (=пока тлько локальные репо). Небольшой(~сложность - только с git). Очень помогает, чтобы _реальный_ (=мотивация). Возможно, не один. Или учебный - покрутил, выбросил, начал другой. ....

Пункт 1б. The W.F.
Научиться _"видеть"_ изменения по мере их появления в файлах и "записи в историю" (=коммита в репо).
Уяснить простейший локальный "workflow": LOOP[ change -> status -> commit ]. А-ля:

while(on_the_project()){
make_changes() if wanna_change();
status/diff/log if wanna_see_status() || wanna_commit() && !seeing_status();
commit if wanna_commit() && seeing_status() || just_gotta_commit()
}

Пункт 1а. _По_желанию_, по мере необходимости:
- [commit/log] перелистать ключи/параметры для;
- [commit] $EDITOR настроить;
- [commit] изучить и пользовать -m "Commit message.".

Пункт 1.[Л].
1)Вернуться %) к п.0;
2)http:/openforum/vsluhforumID9/7642.html#3
3)м.б.даже #4. (**)Re:linus google video: Если радостный и нарочитый "маркетинг" git-а Линусом вызывает не улыбку, но неприятие, отложить видео и/или пересмотреть своё отношение к нему (видео, не Линусу! $) ).

[[Далее - то, до чего _я_ дошёл, но не научился и не возьмусь учить. Кратенько...]]

Пункт 2. Индекс vs working dir. vs репо. Ветви.
[=Каждая вторая лекция, статья, (?)книга про git, начиная с linus' git google talk -- об этом. Детали про объекты и хэш-суммы можно "смело пропускать, но иметь в виду". :)) ]
git branch [...]
git checkout -f master

-2.0. "Открыть" для себя & понять роли index&W.D.&repo в работе git в _своём_ workflow (и/или wf. из п.1б).

-2.1. Уяснить, зачем -f, когда он нужен и пр. -- checkout vs "чистая" working dir.

--2.5. git merge, _не_линейная история.

-2a. (*при желании) git stash; ?topgit (внешний инструмент)

-2б. git commit --amend
vs git reset (ОСТОРОЖНО! м.б.потеряны записи "в истории")

Пункт 3. Репо vs репо.
-3а. Локальный vs второй локальный.
git clone dir1/ dir2/
git push
git pull --ff origin master

-3б. Локальный vs удалённый.
git clone proto:/remote/repo [dir/]

-3ц. ...при желании?..
git fetch
git pull
git merge
git push

. . . . .
-4ф. git gc

. . . . .
Пункт A.1. [Параллельно с/переключаясь с/на - п.1+.] "Крутить головой."
Кто как использует. Какие проекты. Кто для чего. Кто что пишет про.

-А.2. Наверное, можно и вопросы позадавать. ;-)

. . . . . . . . . . . . . . . . . . . . . . . . .

> - про git-clone, git-pull, git-checkout в курсе.

Команды - не главное. Как выясняется, есть некоторые :) затруднения с тем, что... эээ... между %) ними.

>А вот какой командой вытащить мой тестовый бранч в отдельный
>каталог, который я потом желаю закоммитить в svn?

Ну, например -
GIT_DIR= ../path/to/.git/ checkout -f test-branch
, или
git archive --format=tar test-branch | ( cd ../some/dir; tar x )
, или... наверное, ещё какие-то способы есть...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "git - Quickest User Учебник"  
Сообщение от VAS (??) on 05-Янв-09, 05:09 
[skip]
Спасибо за наставления :-) не так страшен черт как его малюют :)
Действительно, работа на учебном git-репозитории здорово помогает освоиться.

>>А вот какой командой вытащить мой тестовый бранч в отдельный
>>каталог, который я потом желаю закоммитить в svn?
>
>Ну, например -
>GIT_DIR= ../path/to/.git/ checkout -f test-branch
>, или

Здесь не совсем понял, что вы имели в виду.

>git archive --format=tar test-branch | ( cd ../some/dir; tar x )
>, или... наверное, ещё какие-то способы есть...

А вот это работает - как раз то, что мне было нужно. Спасибо, с наступившим!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "git - Quickest User Учебник"  
Сообщение от Andrey Mitrofanov on 05-Янв-09, 12:18 
>>GIT_DIR= ../path/to/.git/ checkout -f test-branch
>Здесь не совсем понял, что вы имели в виду.

А это
cd ../new-dir
GIT_DIR=../path-to/.git/ git checkout test-branch
, как выяснилось при проверке, делает совсем не то. %) "Бывает."

М.б. можно что-н. с git clone скомбинировать, но .git/ при этом тоже с собой "принесём".

Видимо, git-таки "работает" с репозитариями, не нужно рассматривать его, как инструмент работы с директориями (положить ... в директорию), и _экспорт_ (git arcive, в частности) - в "неродной" формат - вероятно путь для получения "неродного" результата (директории, не репозитария).

>Спасибо, с наступившим!

Пожалуйста, аналогично. :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру