Усі інші відповіді говорять про "вгору за течією" (гілку, з якої ви витягуєте).
Але місцева гілка може натиснути на іншу гілку, ніж ту, з якої вона витягується.
masterможе не натиснути на гілку віддаленого відстеження " origin/master". Вгору гілки для може бути , але це може підштовхнути до віддаленого трекінгу гілки або навіть .
Вони задаються для поточної гілки разом зі значенням.
masterorigin/masterorigin/xxxanotherUpstreamRepo/yyy
branch.*.pushremoteglobal remote.pushDefault
Це що віддалене відстеження гілка , яка розраховує при пошуку unpushed фіксацій: той , який відстежує , branch at the remoteде місцеве відділення буде засунути на. Може бути, знову ж , або навіть .
branch at the remoteorigin/xxxanotherUpstreamRepo/yyy
Git 2.5+ (Q2 2015) представляє новий ярлик для цього: <branch>@{push}
Див здійснювати 29bc885 , здійснювати 3dbe9db , здійснює adfe5d0 , здійснює 48c5847 , здійснюють a1ad0eb , здійснює e291c75 , здійснює 979cb24 , здійснює 1ca41a1 , здійснює 3a429d0 , здійснюють a9f9f8c , здійснюють 8770e6f , здійснюють da66b27 , здійснює f052154 , здійснює 9e3751d , здійснює ee2499f [всі з 21 травня 2015], і виконувати e41bf35 [01 травня 2015] від Джеффа Кінга ( peff) .
(Об’єднав Хуніо С Хамано -gitster -в комітеті c4a8354 , 05 червня 2015 р.)
Коміт adfe5d0 пояснює:
sha1_name: реалізувати @{push}скорочення
У трикутному документообігу кожна гілка може мати дві окремі цікаві точки: ту, @{upstream}яку ви зазвичай витягуєте, і пункт призначення, до якого ви зазвичай натискаєте. Не існує скорочення для останнього, але це корисно.
Наприклад, ви можете дізнатися, які комісії ви ще не натискали :
git log @{push}..
Або, як складніший приклад, уявіть, що ви зазвичай витягуєте зміни з origin/master(які ви встановили як свої @{upstream}), а зміни випробовуєте до власної особистої вилки (наприклад, як myfork/topic).
Ви можете підштовхнути до розчеру з декількох машин, вимагаючи від вас інтегрувати зміни від місця призначення, а не вище за течією .
З цим патчем ви можете просто зробити:
git rebase @{push}
а не вводити повне ім’я.
Коміт 29bc885 додає:
for-each-ref: прийняти %(push)формат " "
Подібно до того, як ми маємо " %(upstream)" повідомити " @{upstream}" для кожної посилання, цей патч додає " %(push)", щоб відповідати " @{push}".
Він підтримує ті самі модифікатори формату відстеження, що і вище (тому, що ви, можливо, хочете знати, наприклад, які гілки зобов'язуються натиснути ).
Якщо ви хочете побачити, скільки ваших місцевих філій вперед / позаду, порівняно з гілкою, на яку ви натискаєте:
git for-each-ref --format="%(refname:short) %(push:track)" refs/heads
git log @{push}... Дивіться цю нову ярлик@{push}(посилаючись на відділення віддаленого відстеження, на яке ви підштовхуєтесь) у моїй відповіді нижче