Я використовував, fetch
а потім checkout
...
git fetch <remote> <rbranch>:<lbranch>
git checkout <lbranch>
... де <rbranch>
знаходиться віддалений відділення або джерело, і <lbranch>
це ще неіснуюча локальна філія або місце призначення, яку ви хочете відслідковувати, і яку ви, ймовірно, хочете назвати так само, як віддалену гілку або джерело. Це пояснюється під параметри в поясненні <refspec>
.
Git настільки розумний, що автоматично виконує першу команду, якщо я вкладу після перших кількох літер віддаленої гілки. Тобто мені навіть не потрібно називати локальну гілку, Git автоматично копіює назву віддаленої гілки для мене. Дякую, Гіт!
Також як показано відповідь у подібній публікації про переповнення стека , якщо ви не назвали місцеву гілку fetch
, ви все одно можете її створити, перевіривши її, використовуючи -b
прапор. Тобто, git fetch <remote> <branch>
слідом за цим git checkout -b <branch> <remote>/<branch>
робиться точно так само, як і моя початкова відповідь. І очевидно, якщо у вашому сховищі є лише один віддалений, то ви можете просто зробити це git checkout <branch>
після, fetch
і він створить локальну гілку для вас. Наприклад, ви просто клонували сховище і хочете перевірити додаткові гілки з віддаленого.
Я вважаю, що частина документації на, fetch
можливо, була скопійована дослівно pull
. Зокрема, розділ <refspec>
у параметрах однаковий. Однак я не вірю, що fetch
коли-небудь merge
, так що якщо ви залишите сторону товстої кишки порожньою, fetch
нічого не робити .
ПРИМІТКА: git fetch <remote> <refspec>
короткий, git fetch <remote> <refspec>:
який би нічого не робив, але git fetch <remote> <tag>
є таким самим, git fetch <remote> <tag>:<tag>
який слід копіювати на пульт <tag>
локально.
Я думаю, це корисно лише в тому випадку, якщо ви хочете скопіювати віддалену гілку на місцевому рівні, але не обов'язково перевірити її відразу. В іншому випадку я б зараз використовував прийняту відповідь , яка детально пояснюється в першому розділі опису оформлення замовлення та пізніше в розділі варіантів під поясненням --track
, оскільки це однолінійний. Ну ... начебто однолінійний, бо вам все одно доведеться бігти git fetch <remote>
першим.
FYI: Порядок <refspecs>
(джерело: призначення) пояснює химерний метод pre Git 1.7 для видалення віддалених гілок . Тобто нічого не підштовхуйте до місця призначення.