Как я могу изменить происхождение git на определенную ветку? - PullRequest
0 голосов
/ 10 мая 2018

Я клонировал определенную ветку в GitHub (3.x), но источник был автоматически настроен на другую ветку (2.x).

Я хочу работать только с веткой 3.x (но не с веткой 2.x). Я бы лучше использовал git pull origin, чем git pull origin / 3.x.

Каков наилучший способ изменить расположение по умолчанию для извлечения?

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

В этой ситуации нет способа заставить "git pull origin" работать на ветке 3.x, потому что это не ветка по умолчанию для удаленного репо.

После некоторых экспериментов лучшим решением оказалось следующее (выдано из родительского каталога):

git clone -b 3.x --single-branch  git@github.com:user/reponame.git your_subdirectory

Это предотвращает клонирование других веток и настраивает их так, чтобы «git pull» сам по себе автоматически извлекал из удаленной ветки 3.x.

Это также устраняет потенциальные ошибки с "git pull origin" или "git diff origin" (которое ссылается на ветку 2.x по умолчанию на удаленном компьютере). Эти команды не работают, если вы не ссылаетесь на клонированную вами ветку.

0 голосов
/ 10 мая 2018

Как я понимаю, вы пытаетесь изменить свой origin/branch URL-адрес, но нет необходимости. Просто проверьте два разных подхода к вашей проблеме.

$ git clone https://github.com/somegreatpath/somegreatproject.git
$ cd somegreatproject

Проверьте, какую ветку вы используете в данный момент:

$ git branch    
* 2.x

Отметьте нужную вам ветку

$ git checkout -b 3.x origin/3.x
 Branch 3.x set up to track remote branch 3.x from origin.
 Switched to a new branch '3.x'

Подтвердите, что вы используете нужную ветку:

$ git branch    
* 3.x
  2.x

Если вы хотите обновить код позже, запустите git pull:

$ git pull
Already up-to-date.

А также вы можете изменить origin. Во-первых, проверьте текущий удаленный URL:

$ git remote -v
* origin  git@github.com:USERNAME/REPOSITORY.git (fetch)
* origin  git@github.com:USERNAME/REPOSITORY.git (push)

Установить новый URL

$ git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

Убедитесь, что удаленный URL-адрес изменился.

$ git remote -v    
* origin https://github.com/USERNAME/REPOSITORYUSERNAME/REPOSITORY.git (fetch)
* origin https://github.com/USERNAME/REPOSITORYUSERNAME/REPOSITORY.git (push)

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

...