Как загрузить ветку с git? (4)
Git clone и cd в имени репо:
$ git clone https://github.com/PabloEzequiel/iOS-AppleWach.git Cloning into "iOS-AppleWach"... $ cd iOS-AppleWach
Перейдите на ветку (страница GitHub), которую я хочу:
$ git checkout -b gh-pages origin/gh-pages Branch gh-pages set up to track remote branch gh-pages from origin. Switched to a new branch "gh-pages"
И потяните ветку:
$ git pull Already up-to-date.
$ ls index.html params.json stylesheets
У меня есть проект на GitHub. Я создал ветку на одном компьютере, а затем переместил мои изменения в github с помощью
Git push origin branch-name
Теперь я на другом компьютере, и я хочу загрузить эту ветку. Поэтому я попробовал:
Git pull origin branch-name
Но все это означало переписывание моей ветви мастера изменениями в моей новой ветке.
Что мне нужно сделать, чтобы правильно потянуть мою удаленную ветку?
$ git clone https://github.com/lukeredpath/LRResty.git $ cd LRResty
Проверьте, какая ветка вы используете в данный момент (она должна быть главной ветвью):
$ git branch * master
Проверьте ветку, которую вы хотите, в моем случае она называется «arcified»:
$ git checkout -b arcified origin/arcified Branch arcified set up to track remote branch arcified from origin. Switched to a new branch "arcified"
Подтвердите, что вы используете ветку, которую хотите:
$ git branch * arcified master
Если вы хотите позже обновить код, запустите git pull:
$ git pull Already up-to-date.
Перейдите в папку на новой машине, которую вы хотите загрузить с git на git bash.
Используйте нижеприведенную команду для загрузки кода из любой отрасли, которая вам нравится
git clone "git ssh url" -b "Branch Name"
Он загрузит соответствующий код ветвления.
Я клонировал его в локальную копию, используя Eclipse EGit.
Затем я создал ветвь в исходном репозитории git на сервере.
Как скопировать ветку в мою локальную копию с помощью Eclipse EGit?
Когда я открываю Git Repositories внутри EGit, я вижу:
Local -- master - Remote Tracking -- origin/development -- origin/master
Как я могу получить происхождение / развитие в моем местном использовании с помощью EGit?
Я знаю, что могу создать новый клон, но я не хочу этого делать, поскольку считаю, что должен быть способ получить только новую ветку.
Второй вопрос – где команда pull внутри EGit? Мне удалось найти команду fetch, но когда я запустил ее, она говорит, что ничего не нужно. RefSpec:
Refs/heads/*:refs/remotes/origin/*
Третий вопрос – есть ли способ обработать команды git из командной строки внутри Eclipse в моей системе Windows? Я думал о попытке сделать вывод из командной строки, но я не могу найти его в своей локальной системе.
Ваша выборка обновлена, потому что у вас уже есть все, скопированные в локальный репозиторий. Притяжение объединит origin/development в мастера, чего вы не хотите. Вы хотите создать новую ветку с origin/development в качестве отправной точки. Я не знаю, как это сделать с помощью egit, но в командной строке вы выполните:
Git checkout -b development origin/development
Я также искал несколько часов, чтобы узнать, как получить удаленную ветвь в Eclipse EGit …
Решение изложено в этом Bugreport . И это очень просто, если вы знаете, как это сделать – не нужно использовать версию командной строки git, которая, даже если она работает в 99% всех случаев, может быть рискованной, поскольку у меня уже были проблемы, которые она мешала Eclipse и EGit.
Просто выполните следующие действия:
- Сначала убедитесь, что вы открыли представление EGit Repository view . Если вы еще не открыли его, перейдите в «Window → Show View → Other …» и оттуда выберите «Git → Git Repositories».
- В представлении « Repository view выберите «Филиалы → Удаленное отслеживание». Вы должны увидеть там свои удаленные ветви (пример: origin/new_feature).
- Щелкните правой кнопкой мыши на удаленной ветке, которую вы хотите иметь с локальными ветвями. Выберите «Создать ветвь» …
- Значения по умолчанию должны быть в порядке. Обычно вы ничего здесь не должны менять. Обратите внимание, что вы не должны изменять стратегию «Потянуть» на что-то другое, чем «Объединить», если вы не знаете, что делаете. В противном случае вытягивание изменений в восходящем потоке может привести к потере данных.
- Нажмите «ОК», и вы закончите 🙂
Я столкнулся с той же проблемой, и вот как я ее решил:
- щелкните правой кнопкой мыши (удаленный) Branch, Check Out, проверьте как новое локальное ветвь
Open Git Perspective
Сначала у вас должна быть ветка, которую вы хотите проверить, в вашем репозитории под удаленным отслеживанием . Моя проблема заключалась в том, что я не мог видеть удаленную ветку здесь, поэтому, чтобы решить эту проблему – выполните Pull on the repository, и эта команда должна предоставить вам все ветки под удаленным отслеживанием
Очень часто появляется необходимость создать в локальном клоне проекта новую ветку , закинуть в нее уже созданные или измененные файлы, протолкнуть новую ветку в удаленный репозиторий, например в , чтобы коллега-программист мог стянуть ветку и посмотреть изменения или результат.
Создаем и проталкиваем новую ветку
Есть два равнозначных способа создать и переключиться на новую ветку. Первый односрочный:
Root@user: git checkout -b new_feature
Второй, аналогичный первому, но в две строки:
Root@user: git branch new_feature root@user: git checkout new_feature
Готово. Новая ветка создана в локальном репозитории и в нее включены все локальные изменения. И мы переключились на новую локальную ветку . Можем создать коммит и протолкнуть новую ветку в удаленный репозиторий:
Root@user: git commit -m "new feature" root@user: git push origin new_feature
Где origin — название вашего удаленного репозиторий (origin — значение по умолчанию при клоне проекта), new_feature — название вашей новой ветки.
Затягиваем новую ветку из удаленного репозитория
Созданная нами ветка уже находится в удаленном репозитории и теперь нам нужно изолированно ее затянуть из репы. Если сделать просто pull , то новая ветка не подтянется. Если сделать просто git pull origin new_feature, то ветка сольется с веткой master. Поэтому делаем следующую последовательность:
Root@user: git fetch root@user: git checkout -b new_feature root@user: git pull origin new_feature
На первой строке с помощью команды git fetch смотрим есть ли новые ветки, при этом загрузка удаленных изменений не происходит. Второй строкой создает локальную ветку с наким же названием и переключаемся на нее. В конец, на третьей строке, затягиваем удаленные изменения в новую ветку. Система предложить сделать merge-commit.
Как загрузить ветку с git? (4)
У меня есть проект на GitHub. Я создал ветку на одном компьютере, а затем переместил мои изменения в github с помощью
Git push origin branch-name
Теперь я на другом компьютере, и я хочу загрузить эту ветку. Поэтому я попробовал:
Git pull origin branch-name
Но все это означало переписывание моей ветви мастера изменениями в моей новой ветке.
Что мне нужно сделать, чтобы правильно потянуть мою удаленную ветку?
Git clone и cd в имени репо:
$ git clone https://github.com/PabloEzequiel/iOS-AppleWach.git Cloning into "iOS-AppleWach"... $ cd iOS-AppleWach
Перейдите на ветку (страница GitHub), которую я хочу:
$ git checkout -b gh-pages origin/gh-pages Branch gh-pages set up to track remote branch gh-pages from origin. Switched to a new branch "gh-pages"
И потяните ветку:
$ git pull Already up-to-date.
$ ls index.html params.json stylesheets
$ git clone https://github.com/lukeredpath/LRResty.git $ cd LRResty
Проверьте, какая ветка вы используете в данный момент (она должна быть главной ветвью):
$ git branch * master
Проверьте ветку, которую вы хотите, в моем случае она называется «arcified»:
$ git checkout -b arcified origin/arcified Branch arcified set up to track remote branch arcified from origin. Switched to a new branch "arcified"
Подтвердите, что вы используете ветку, которую хотите:
$ git branch * arcified master
Если вы хотите позже обновить код, запустите git pull:
$ git pull Already up-to-date.
Перейдите в папку на новой машине, которую вы хотите загрузить с git на git bash.
Используйте нижеприведенную команду для загрузки кода из любой отрасли, которая вам нравится
git clone "git ssh url" -b "Branch Name"
Он загрузит соответствующий код ветвления.
// echo get_the_post_thumbnail(get_the_ID(), "relatedthumbnail"); // вывожу свой размер миниатюры?>
Иногда при работе с локально и удаленной веткой нам требуется их удалять. Например эта ветка отдельной функциональности которая уже слита в develop или master. Или это ветка для устранения багов. Давайте посмотрим как можно легко и быстро удалять локальные (local) и удаленные (remote) ветки.
Быстрый ответ — финальное резюме
$ git push -dЗамечу, что в большинстве случаев удаленный репозиторий записан как origin .
Удаляем локальную ветку
Чтобы удалить локальную ветку используем одну из следующих команд:
$ git branch -d branch_name $ git branch -D branch_name
Пояснение: ключ -d это ярлык команды --delete , которая удаляет ветку, только если последняя полностью смержена в ее upstream ветку. Можно также использовать команду -D , которая является алиасом команды --delete --force , которая удаляет ветку «невзирая на ее мерж статус» (независимо объединяли вы ее с вышестоящей upsream веткой ли нет).
Удаление удаленной remote ветки
В Git версии v1.7.0 , вы можете удалить remote ветку используя
$ git push
что возможно легче запомнить, чем команду
$ git push
которая была добавлена в Git v1.5.0 «чтобы удалить удаленную remote ветку или тег tag.»
Начиная с Git v2.8.0 вы также можете использовать git push с опцией -d как ярлык вместо --delete .
Более того, версия гита которая у вас установлена будет определять какой синтаксис использовать, более легкий или более сложный.
Удалить удаленную remote ветку
Цитата из 3-ей главы книги Pro Git Скотта Чакона:
Удаление Удалённых Веток
Полагаю вы завершили с работой в удаленной ветке, вы и ваши сотрудники закончили с новой фичей и смержили ее в вашу mster ветку на удаленном репозитории. Вы можете удалить удаленную ветку используя довольно тупой синтаксис git push : . Если вы хотите удалить вашу bugfix ветку с фиксом багов на сервере, вы запускаете следующую команду:
$ git push origin:serverfix To :schacon/simplegit.git - serverfix
Бабах! И не больше такой ветки на вашем сервере. Наверное вам захочется поставить закладку на эту страницу, потому что вам еще понадобится эта команда, и вы скорее всего забудете как она пишется. Способ чтобы запомнить эту команду, вспомнить прошлую git push : синтаксис которой мы рассматривали немного ранее. Если вы оставите , тогда вы буквально скажите следующее “Возьми ничего с моей стороны и сделай это .”
Я использовал git push origin:bugfix и это отлично работает.
После, вам следует выполнить эту команду на других машинах разработчиков:
Git fetch --all --prune
чтобы распространить изменения.