Когда использовать определенные аргументы с git push?

Я видел три версии команды push:

git push -u remote_repo_ref local_branch_name

а также

git push remote_repo_ref local_branch_name

а также

git push

Мне немного непонятно, когда использовать какой. Обычно remote_repo_ref является origin а также local_branch_name является master но я использую общие ярлыки, чтобы сделать мой вопрос более обобщенным.

1 ответ

Решение

Использование git push -u когда вы нажимаете на пульт / восходящий поток в первый раз. Вот пример "ниже" того, когда вам нужно использовать git push -u remote_repo_ref local_branch_name,

Допустим, у нас есть некоторый код, который уже зарегистрирован, и нам просто нужно добавить новую ветку и зарегистрировать ее.....

=>

# view current branches. 
za:webapp za$ git branch
  master
* paperclip_file_up_down_load_and_s3

 =>
# create a new branch called some _feature
za:webapp za$ git checkout -b some_feature
M   app/models/video.rb
Switched to a new branch 'some_feature' paperclip_file_up_down_load_and_s3

 =>
# Check what is under .git/refs/remotes/origin/
# you can get more details suing za$ git remote show origin 
# Note: branch soe_feature is not there yet
za:webapp za$ ls -lad .git/refs/remotes/origin/*
-rw-r--r--  1 za  staff  41 Nov 11 13:49 .git/refs/remotes/origin/master
-rw-r--r--  1 za  staff  41 Nov 26 14:06 .git/refs/remotes/origin/paperclip_file_up_down_load_and_s3


#Add it using  git push -u origin some_feature
za:webapp za$ git push -u origin some_feature
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/codepedia/webapp.git
 * [new branch]      some_feature -> some_feature
Branch some_feature set up to track remote branch some_feature from origin.

=>
# Check again, it is there. Was linked remote origin via the flag -u
# You can also run  git push -u origin some_feature
za:webapp za$ ls -lad .git/refs/remotes/origin/*
-rw-r--r--  1 za  staff  41 Nov 11 13:49 .git/refs/remotes/origin/master
-rw-r--r--  1 za  staff  41 Nov 26 14:06 .git/refs/remotes/origin/paperclip_file_up_down_load_and_s3
-rw-r--r--  1 za  staff  41 Jan 21 21:09 .git/refs/remotes/origin/some_feature

Что касается двух других:

git push это сокращенная версия для git push remote_repo_ref local_branch_name

git push remote_repo_ref local_branch_name Вы просто многословны / явны здесь. Ты используешь git push когда локальная главная ветка ИЛИ уже зарегистрирована и связана с восходящим потоком.

Надеюсь, это поможет!!

Другие вопросы по тегам