Як створити та / або надіслати запит на витяг до іншого сховища, розміщеного на GitHub?
Як створити та / або надіслати запит на витяг до іншого сховища, розміщеного на GitHub?
Відповіді:
(На додаток до офіційної сторінки " Довідка GitHub" Використання запитів на виклики ",
див. Також" Відхилення від розгалуження в GitHub "," Яка різниця між початком і потоком в GitHub ")
Якщо припустити, що ви вперше взяли на себе репо , ось що вам слід зробити в тій вилці, якою ви володієте:
master
, звідки ви могли б спокуситись накопичувати та змішувати відразу декілька модифікацій.origin/master
(переконайтеся, що ваш патч все ще працює) оновить запит на витяг автоматично (не потрібно нічого клацати)git remote prune origin
). Графічний інтерфейс GitHub запропонує вам видалити свою філію на своїй сторінці запиту.Примітка: щоб написати Pull-Request сам, див. " Як написати ідеальний запит на тягу " (січень 2015, GitHub)
Березень 2016 року: Нова опція кнопки злиття PR: див. " Сквош Github здійснює з веб-інтерфейсу під час запиту на розгляд після перегляду коментарів ".
Супровідник репо може вибирати merge --squash
ці піарні зобов'язання.
Щодо останнього пункту, з 10 квітня 2013 року " Перероблена кнопка злиття ", відділення для вас видалено:
Видалення гілок після об'єднання також було спрощено.
Замість підтвердження видалення додатковим кроком ми негайно видаляємо гілку, коли ви її видаляєте, і надаємо зручне посилання для відновлення гілки у випадку, якщо вона вам знову потрібна .
Це підтверджує найкращу практику видалення гілки після об'єднання запиту на виклик.
запит на тягнення не є офіційним терміном "git".
Git використовує команду request-pull
(!) Для побудови запиту на об'єднання:
вона "підсумовує зміни між двома комітами до стандартного виводу та включає вказану URL-адресу в генерований підсумок".
Github запускає свою власну версію з першого дня (лютий 2008 р.) , Але переробив цю функцію в травні 2010 року , заявивши, що:
Pull Request = Compare View + Issues + Commit comments
<humour>
Це (запит на витягнення) навіть не визначено належним чином GitHub!
На щастя, справжня організація ділових новин знала б, і є електронна примітка для того, щоб витягнути заміни на "e-note" :
Так що, якщо ваші угоди РЕПО O торії необхідні електронне примітка ... запитати Fox Business . Вони знають.
</humour>
branch
проти master
здається критичним для отримання відповіді мого / Гітюба з теоретичного рішення на те, що б насправді було використано.
git pull --rebase upstream/master
справді це добре.
Щоб дізнатися, як зробити запит на тягнення, я просто переглянув дві окремі сторінки довідки на Github (зв'язані нижче як точки кулі). Наступні команди командного рядка призначені для частини 1 . Частина 2 , фактичний запит на виклик, повністю виконується на веб-сайті Github.
$ git clone https://github.com/tim-peterson/dwolla-php.git
$ cd dwolla-php
$ git remote add upstream https://github.com/Dwolla/dwolla-php.git
$ git fetch upstream
// make your changes to this newly cloned, local repo
$ git add .
$ git commit -m '1st commit to dwolla'
$ git push origin master
Частина 1 : роздрібнити чиєсь репо: https://help.github.com/articles/fork-a-repo
git clone->cd dwolla-php->git remote->git fetch
вищезгадану послідовність, щоб клонувати вилку десь на комп'ютері (тобто "скопіювати / вставити" її в цьому випадку third_party TimPeterson$
:) та синхронізувати її з головним репо (Dwolla / dwolla-php)git add->git commit->git push
вищезгадану послідовність, щоб перенести зміни до віддаленого репо, тобто вашого вила на Github (tim-peterson / dwolla-php)Частина 2 : зробити запит на посилання: https://help.github.com/articles/using-pull-requests
Tims-MacBook-Pro:third_party TimPeterson$
оскільки це підручник для початківців, і ці підказки допомагають орієнтуватися на користувача.
git fetch upstream
цього вам не потрібно об’єднувати зміни вгору за течією з локальною копією, використовуючи git checkout master
потім git merge upstream/master
?
Для того, щоб зробити запит на потяг, вам потрібно виконати наступні дії:
Знадобилося трохи часу, щоб це зрозуміти, сподіваюся, що це комусь допоможе.
Я розпочав проект, щоб допомогти людям, які роблять свій перший запит на отримання GitHub. Ви можете зробити практичний підручник, щоб зробити свій перший PR тут
Робочий процес простий як
git clone <clone url you copied earlier>
git checkout -b branch-name
git commit
git push origin branch-name
Compare and pull request
кнопкуДля тих із нас, хто має обліковий запис github.com, але отримуємо неприємне повідомлення про помилку, коли ми вводимо "git" у командний рядок, ось як це зробити у вашому браузері :)
Я дотримувався вказівок Тім Петерсона, але створив локальну гілку для своїх змін. Однак після натискання я не бачив нової гілки в GitHub. Рішенням було додати -u до push команди:
git push -u origin <branch>
tim-peterson
2-йDwolla
Я написав програму bash, яка виконує всю роботу зі створення відділення PR. При необхідності він виконує розгортання, синхронізує з висхідним потоком, налаштовує віддалений вихідний потік тощо, і вам просто потрібно здійснити свої зміни, натиснути та подати PR.
Ось як це запустити:
github-make-pr-branch ssh your-github-username orig_repo_user orig_repo_name new-feature
Ви знайдете програму тут, і її сховище також містить покрокове керівництво по виконанню того ж самого процесу вручну, якщо ви хочете зрозуміти, як воно працює, а також додаткову інформацію про те, як підтримувати галузь функції, побачити з головним майстром та іншими корисними підказками.
Причіпні Запит Найпростіше GitHub є з веб - інтерфейсу без використання мерзотника.
Клацніть піктограму олівця ,
шукайте текст поруч із місцеположенням, вкажіть потрібні зміни, а потім перегляньте їх, щоб підтвердити. Надайте запропонованій зміні опис до 50 символів та необов'язково розширений опис, а потім натисніть кнопку Пропонувати файл Змінити файл .
Якщо ви читаєте це, у вас не буде доступу до сховища (папок проектів), тому GitHub створить копію сховища (фактично філії) у вашому обліковому записі. Натисніть кнопку Створити запит на потяг .