2016-02-27 2 views
0

Это последующий до Deploying to Heroku using git on bitbucket.Heroku, Git, Bitbucket - Что происходит где?

Я не новичок в Ruby on Rails (RoR). Я новичок в git, Heroku и Bitbucket. Мне не хватает фундаментальных понятий, которые я просто не читаю и не играю.

Я следовал вместе с https://devcenter.heroku.com/articles/getting-started-with-jruby#introduction. Это было бесценно, когда я начал использовать RoR для Heroku. Если я внимательно слежу, все будет работать. Мои вопросы ниже предполагают, что все в этом учебнике работает правильно.

Я надеюсь, что эти самые основные вопросы помогут другим, сталкивающимся с теми же проблемами обучения, которые я есть.

Мой первый основной вопрос: по умолчанию хранятся хранилища Heroku?

Мой второй базовый вопрос: что делает команда heroku? Иногда кажется, что что-то запускало на сервере, как в heroku config:set MY_VARIABLE=MY_VALUE, который, я думаю, устанавливает переменную среды на сервере, на котором работает мой сайт. Иногда кажется, что это работает на моей машине devlopement (то есть локальной), как в heroku local web -f Procfile.windows

Для аргумента предположим, что репозиторий Heroku не является приватным, и я хочу разместить мой репозиторий (репо) на Bitbucket.

После установки инструментального инструмента Heroku я сделал git clone https://github.com/heroku/jruby-getting-started.git myProject из командного процессора.

Хорошо, я понимаю «git clone». Если мой текущий рабочий каталог - f: \ x, то операция клонирования создаст f: \ x \ myProject (и подкаталоги) в комплекте с образцом кода и репозиторием.

Я создаю и сохраняю свои изменения в локальных (примерных) файлах (например, f: \ x \ myProject \ app \ views \ index.erb) с помощью моего любимого текстового редактора. (В моем случае текстовый редактор Atom).

Я делаю http://localhost:5000, что позволяет мне видеть myProject в локальном браузере. Это прекрасно работает.

Я тогда сделать

git add . 
    git commit -m "Some comment" 
    git push heroku master 
    heroku open 

Так что теперь я нажал измененный образец кода в Heroku. heroku open открывает новую вкладку в моем веб-браузере. Волшебно, myProject.heroku.com теперь работает с изменениями, которые я сделал для f: \ x \ myProject \ app \ views \ index.erb.

Предположим, я хочу разместить мой репозиторий на Bitbucket.

Теперь я заблудился. Могу ли я клонировать f: \ x \ myProject для Bitbucket? Нажимаю ли я на битбакет?

Я отмечаю от https://devcenter.heroku.com/articles/git

Прежде чем нажать приложение для Heroku, вам необходимо инициализировать локальный Git репозиторий и зафиксировать ваши файлы. Например, если у вас есть приложение в каталоге, MyApp, а затем создать новое хранилище для него:

Это действительно так? Разве нет способа вытащить из Битбукет в Хероку, не имея хранилища на Хереку?

Я запускаю Windows 7 с инструментами Cygwin и Heroku. Какой инструмент я использую для создания и копирования моего локального репозитория в Bitbucket?

Как только у меня есть репо на Bitbucket, какой инструмент и команды git я использую для размещения своего кода на Heroku без, создающего репо на Heroku или обновляя репо?

спасибо.

+0

Вы используете героку как производственный сервер, а не репозиторий. у вас есть локальный репозиторий git на вашем компьютере. Github и bitbucket являются примерами мест, где люди размещают «публичные» (в отличие от локальных) репозитории. – toddmetheny

+0

Я думал, что у bitbucket есть частные репозитории по умолчанию, а github по умолчанию имеет общедоступные хранилища. – RalphShnelvar

+0

Не имеет значения, является ли это общедоступным/приватным. Это просто репозиторий, размещенный в Интернете, чтобы люди могли сотрудничать с ним. У вас есть версия git на вашем локальном компьютере. Вот от чего ты и отталкиваешься от героики. – toddmetheny

ответ

0

Вы на самом деле нажимаете на герою из своего локального хранилища git. Вы могли бы на самом деле нажать на герою без github или битбакет. Неважно, какой из них вы используете. Heroku - отдельная вещь относительно вашего публичного репозитория. Введите git remote в свой терминал (из каталога приложений), и он покажет вам, какие пулы подключены. Вероятно, у вас есть имя, называемое «происхождение», которое обычно является github, а другое - героем, которое является героку. Надеюсь это поможет.

+0

Я все еще пытаюсь понять, что происходит. Когда я 'GIT remote' я получаю herokuorigin-Bitbucket происхождения-Heroku – RalphShnelvar

+0

@RalphShnelvar мерзавец просто система управления версиями. Вы можете совершить что-то git на своей локальной машине, а затем нажать эту версию приложения на герою, не отправив ее на репо, которое живет в Интернете, например, битбакет или github. Bitbucket и github - это просто услуги для размещения репозиториев в Интернете, поэтому группы людей могут сотрудничать по одному и тому же коду. – toddmetheny

+0

Вздох ... извините за предыдущий «комментарий». Что я пытаюсь понять: «Есть ли способ скопировать код, например, с концом моей текущей ветви на сервер Heroku без создания репо на сервере Heroku? Хорошо, я вижу @karma_police комментарий, но ... как делать то, что предлагает karma_police? Предполагая, что я хочу сохранить репо на Bitbucket, какую команду я запускаю - и где я его запустил? - чтобы получить код от битбакета до герою? – RalphShnelvar

0

Когда вы нажимаете свое репо (локальное или облачное) на Героку, Heroku получает ваш код и файлы поддержки в хранилище, расположенное в Heroku; то он строит его в пули, которые он может запустить. Файлы сохраняются в хранилище, расположенном в Heroku после того, как построена слизь. Вы можете клонировать репозиторий в Heroku на другой локальный компьютер, если хотите.

Однако Героку рекомендует сохранить каноническое исходное репо где-то кроме Героку. Canonical в основном означает истинный источник для копирования.

Я избегал использовать слово git, потому что git это команда, служба репо на основе облачных вычислений (github), а также git repo на вашей локальной машине разработки. Это меня смущает. Я также избегал использования слова remote, потому что git remote является указателем на другой репозиторий, который может быть локальным или удаленным. Люди также говорят, что «удаленное репо» означает репо, которое не является локальным, но с точки зрения программы git удаленный объект - это просто указатель на репо, отличный от того, с которым вы сейчас работаете в программе git. Программу git можно использовать из командной строки или графический интерфейс на вашем локальном компьютере; или в облачной системе. Надеюсь, я получил это в основном правильно.