2017-02-12 8 views
-1

Как скопировать историю коммитов A..B из удаленного хранилища? Не касаясь файлов фиксации.Github - copy github commit history

Я пытался использовать git rebase, git pull --rebase, git cherry-pick ...

+0

«Скопировать историю совершения, не касаясь файлов фиксации», может означать много чего. Вместо этого сообщите нам, какую проблему вы пытаетесь решить. Но вы, вероятно, хотите «git fetch». – Schwern

ответ

1

Вы, вероятно, хотите git fetch. Это обновляет представление локального репозитория относительно того, как выглядит удаленный. A git pull - это всего лишь git fetch, чтобы обновить ваше представление о том, что находится на пульте дистанционного управления, плюс git merge с теми свежими обновленными удаленными ветвями.

Git хранит состояние удаленной ветки в вашем локальном хранилище. Это огромная экономия пространства, потому что они в основном будут одинаковыми. Он использует удаленные ветви отслеживания, такие как origin/master. Это то, что выглядит репозиторий, когда вы сделали две фиксации до master.

A - B - C - D [origin/master] 
      \ 
       E - F [master] 

Когда вы git fetch он получает последние изменения от пульта дистанционного управления и обновляет удаленные филиалы. Поэтому, если кто-то нажал два изменения на мастер, и вы сделаете git fetch, вы получите это.

A - B - C - D - G - H [origin/master] 
      \ 
       E - F [master] 

Обратите внимание: ни одна из ваших местных филиалов не изменилась.

Совершенно безопасно запускать git fetch так часто, как вам нравится. Вы можете ограничить его получением только определенных коммитов, но не так много. Просто принесите их все.