git


Как скопировать файлы из другой ветки репозитория git

Что же делать, если нужно скопировать файлик из одной ветки git в другую? Браться за голову и делать это руками? Совсем нет. :)

Достаточно сделать в нашей ветке, где файла нет вот такое действие:

$ git checkout другая_ветка путь_к_файлу

и файл магически скопируется из другая_ветка. Останется добавить его и закоммитить.

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)

Видео про Git (на русском)

Докладчик: Linus Torvalds

http://www.youtube.com/watch?v=BtAlN4MaBr8

0
Ваша оценка: Ничего
ramok аватар

Примеры ежедневной работы с git

Каждодневный git где в 20 команд (eng.)

0
Ваша оценка: Ничего
ramok аватар

Информация о VCS (Version Control Systems) в приглашении zsh

При переходе на git пришла в голову мысль что было бы удобно видеть в приглашении zsh в каком состоянии локальный репозиторий.
Всевозможные rebase, am, merge и подобное сбивает с толку.
Сказано - сделано. Написал собственный велосипед. Потом нашел еще парочку велосипедов в интернете, разобрал на запчасти и прикрутил к своему велосипеду новенькие колеса и смазал педали. Но вскоре, к своему стыду, в мане zsh увидел уже готовый даже не велосипед, а целый танк с экипажем. И собакой в придачу.

Вот он

$ PAGER=less LESS='-p VERSION CONTROL SYSTEMS' man zshall

Творчески переосмыслив пример из мана вот что получилось

autoload -Uz vcs_info
 
# включаем только git svn svk cvs. Возможные VCS можно посмотреть командой vcs_info_printsys
zstyle ':vcs_info:*'              enable            git svn svk cvs
 
# домашняя директория из CVS репозитория. Исключаем ее и некоторые директории из домашнего репозитория
zstyle ':vcs_info:*'              disable-patterns "$HOME(|/.*|/bin)"
 
# Модифицированная версия из man zshcontrib, добавлены флажки staged и unstaged изменений
zstyle ':vcs_info:*'              actionformats    '%F{5}(%f%s%F{5})%F{3}%m%F{5}[ %F{2}%b%F{3}|%F{1}%a%F{5}][ %B%F{yellow}%c%F{red}%u%%b%F{5}]%f '
zstyle ':vcs_info:*'              formats          '%F{5}(%f%s%F{5})%F{3}%m%F{5}[ %F{2}%b%F{5}][ %B%F{yellow}%c%F{red}%u%%b%F{5}]%f '
zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat     '%b%F{1}:%F{3}%r'
 
zstyle ':vcs_info:*'              check-for-changes true
zstyle ':vcs_info:*'              get-revision      true
 
setopt prompt_subst
RPROMPT=$'${vcs_info_msg_0_}%b%F{cyan}%T%f'
 
 
# в zsh >= 4.3.11 можно add-zsh-hook precmd vcs_info
precmd ()
{
    vcs_info
}

Ну и как всегда: Live demo! Ж:-)

0
Ваша оценка: Ничего
ia аватар

выполнение команды в zsh в зависимости от синтаксиса введённой строки

Бывает так, что надоедает дописывать к началу скопированной в терминал, к примеру, из браузера, ссылки, саму команду, которая должна эту ссылку обработать. Например, вот так (где | - текущее положение курсора):

Если Вам это знакомо, то Вы понимаете, о чём я. Причём речь не обязательно о git:// для git clone; это может быть lp: или bzr:// для bzr branch, http:// - для wget или aria2c, file:/// - для cd ну и т.д. и т.п. - вариантов множество и примеры использования могут зависеть от того, с какими видами пар ссылка/действие приходится работать. Конечно, можно настроить короткие алиасы для команд, но можно и пойти чуть дальше - можно настроить, что же должен выполнить zsh в зависимости от синтаксиса введённой строки. Для этого нужно отредактировать .zshrc файл, добавив туда функцию precmd (чуть подробнее про precmd можно прочитать в комментариях к коду в этом совете - http://linsovet.com/content/настройка-приглашений-zsh) примерно следующего содержания:

0
Ваша оценка: Ничего

Использование git для создания патчей

В старые добрые времена для создания патча для модуля нужно было иметь под рукой оригинальный нетронутый файл и файл с вашими изменениями. Затем использовать diff для сравнения двух файлов.

Для такой часто встречающейся практической задачи можно использовать git:

  • Загрузить модуль и распаковать
  • Инициализировать git репозиторий git init
  • Добавить файлы git add .
  • Сделать первый коммит, например git commit -m 'Версия 1.23 с CPAN'
  • Править, коммитить, править...
  • Сгенерировать патч git format-patch --stdout -1

Ссылка:
http://use.perl.org/~brian_d_foy/journal/37664

0
Ваша оценка: Ничего

Git и Subversion могут жить вместе

Предположим, что у вас есть централизованный сервер с svn репозиторием, но вы хотите использовать git локально, делать commit'ы, ветки и другие прелести децентрализованной системы контроля версий. С помощью git-svn это довольно просто.

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)