2011-01-03 4 views
38

Кто-то разветвил мой проект Github и внес некоторые изменения. Как я могу объединить изменения в мою версию вверх?Внести изменения с вилки Github

Кроме того, можно ли тянуть только конкретную фиксацию?

Что я ищу, если есть способ вытащить конкретную фиксацию вместо всей ветви.

+0

Дубликат: http://stackoverflow.com/questions/867831/merge-changes-from-remote-github-repository-to-your- local-repository – jweyrich

+0

Это просит втянуть в вилку, а не вверх по течению (хотя это, вероятно, тот же метод?). Мне также интересно узнать, есть ли способ вытащить конкретную фиксацию вместо всей ветви. – gregghz

+0

Правильно, то же самое относится к обратному. О, верно, конкретная часть фиксации правильно ответила @Dustin. – jweyrich

ответ

46

Вытягивание в одном фиксаторе будет вишневым подборкой и будет переписывать идентификатор фиксации (и отмечать вас как коммиттера, сохраняя при этом автора). Процесс довольно прост, хотя:

git fetch git://github.com/user/project.git 
git cherry-pick <SHA-COMMIT-ID> 

Вы получаете SHA из журнала хранилища, например:

git log --oneline 

b019cc0 Check whether we have <linux/compiler.h>. 
0920898 Include <linux/compiler.h> before including <linux/usbdevice_fs.h>. 
cbf0ba1 Add DLT_DBUS, for raw D-Bus messages. 
77ed5cd Libnl 2.x returns its own error codes, not errnos; handle that. 

С git cherry-pick 0920898 вы приносите соответствующее обязательство текущей ветви.

+0

ahh .... yeah cherry-pick может быть правильным решением! – crodjer

+0

Что такое «фиксация-вишня-выбор»? Я не знаю, что там есть ... это URL-адрес или какой-то другой идентификатор? – gregghz

+0

nevermind, я понял, что это хэш фиксации. Благодаря! – gregghz

1

Попробуйте использовать/forkqueue на github. Там вы можете объединить фиксации к своей вилке.

Или перейдите на вкладку "Сеть" и выберите "Forkqueue"

+0

Не видеть ссылку. – Trejkaz

+5

С тех пор очередь вилок удалена. https://github.com/blog/1091-spring-cleaning –