Ви, напевно, бачили цю команду у багатьох навчальних матеріалах. Можливо, ви використовуєте її щодня або щоразу, коли виконуєте push:
$ git push -u origin master
Ця команда відправляє зміни з вашого локального репозиторію до гілки master
віддаленого репозиторію origin
.
Але чи потрібно робити це кожного разу?
Параметр -u
у цій команді є скороченням для --set-upstream
. Використовуючи цей параметр, ви фактично вказуєте Git автоматично пов’язати вашу локальну гілку master
із віддаленою гілкою master
. Тож зробити це потрібно лише один раз. Після цього ви можете просто використовувати git pull
і git push
у гілці master без додаткових параметрів.
Просто пам’ятайте, що це слід зробити вперше, коли ви створюєте гілку локально та готові відправити її у віддалений репозиторій:
# Створюємо нову гілку та перемикаємось на неї
$ git checkout -b newFeature
# Працюємо над гілкою newFeature, потім комітим зміни
$ git add .
$ git commit -m "Додав новий функціонал"
# Оскільки це перший push цієї гілки на origin
$ git push -u origin newFeature
Це створить гілку newFeature
у вашому віддаленому репозиторії та встановить зв’язок вашої локальної гілки newFeature
з віддаленою. Відтепер, коли ви будете перемикатися на цю гілку локально, можна просто виконувати git pull
і git push
без жодних додаткових аргументів чи параметрів.
Порада:
Якщо ви хочете подивитися, як ваші локальні гілки пов’язані з віддаленими, погляньте на файл налаштувань вашого репозиторію. Прапорець -u
встановлює властивість merge
для гілки:
./my_project$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = https://github.com/<your-user-name>/my_project.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "newFeature"]
remote = origin
merge = refs/heads/newFeature