Я хотів би внести свій внесок у певний проект у GitHub . Я повинен роздрібнити його? Відділити його? Що рекомендується і як це зробити?
Я хотів би внести свій внесок у певний проект у GitHub . Я повинен роздрібнити його? Відділити його? Що рекомендується і як це зробити?
Відповіді:
В ідеалі ви:
якщо це новий запит на функцію, не запускайте кодування спочатку. Не забудьте опублікувати проблему, щоб обговорити нову функцію.
Якщо функція добре обговорюється і є якийсь +1, або власник проекту затвердив її, призначте проблему собі, тоді виконайте дії, описані вище.
Деякі проекти не використовуватимуть систему запиту. Зверніться до автора чи списку розсилки щодо найкращого способу повернення коду до проекту.
Щоб додати відповідь Ян , після того, як ви роздрібнили проект, ви зможете розвиватися в будь-якій галузі, яку ви хочете (новій або одній з оригінального проекту)
Пам'ятайте:
origin
', оскільки це origin
було б ваше власне репо, результат вилки)git checkout master;
git pull;
ж саме для розвитку (де моя галузь функцій була об'єднана першою) Різниця, яку я можу подумати , після прочитання "pull vs pull --rebase" і "merge vs rebase" - це просто плоска історія. Ще щось глибше?
Щоб додати відповіді Яна та VonC, це хороший ресурс від самих github: http://help.github.com/forking/
Також не забудьте подивитися на правій бічній панелі під заголовком "співпрацююча".
Існує велика Railscast відео тут , що проведе вас через процес. Він також має ряд корисних порад, таких як показати, як визначити, над якою галуззю ви хочете працювати, коли працюєте, використовуючи тести, підмодулі тощо.
Хоча ця трансляція орієнтована в першу чергу на розробників Rails, більшість інформації є дійсною для участі в будь-якому проекті з відкритим кодом.
У Github є багато способів співпраці з проектом. Модель, якою найбільше користується проект, - це модель запиту. Я розпочав проект, щоб допомогти людям, які роблять свій перший запит на GitHub. Ви можете зробити практичний підручник, щоб зробити свій перший PR тут
Робочий процес простий як
git push origin branch-name
Compare and pull request
кнопкуlornajane має публікацію в блозі, яка добре пояснює процес: http://www.lornajane.net/posts/2010/contributing-to-projects-on-github
Я б запропонував такий робочий процес:
Клон (у командному рядку)
git clone <url-from-your-workspace>
Введіть щойно створений каталог та створіть гілку
cd <directory>
git checkout -b <branchname>
Тепер внесіть зміни
Ви можете створити один або кілька комісій після кожної зміни:
commit -a
Після завершення натисніть на зміни
git push origin <branch>
У вашому командному рядку ви повинні побачити URL для створення PR . Відвідайте URL-адресу та натисніть кнопку, щоб створити PR.
Якщо ні, відвідайте сховище в браузері, і він запропонує вам кнопку для створення запиту на виклик
Це воно.
Таким чином, ви, як правило, ви відправив сховище у свою робочу область, створив нову гілку та перемістив цю нову гілку.
Якщо згодом ви робите більше PR з того ж клонованого репо, вам слід синхронізувати (отримати останні зміни з оригінального сховища), перш ніж створити іншу гілку для іншого PR:
git checkout master
git remote add upstream <url-of-original-repo>
git pull upstream master
Ці пропозиції є тут, щоб позбавити вас від труднощів із залученням роботи до піару, який не злиється. Якщо в проекті є активність, і PR об'єднується, це хороший знак. Якщо є вказівки щодо внеску, дотримуйтесь їх.
Завжди будьте ввічливі. Пам'ятайте, що керівники проекту ні в якому разі не зобов'язані об'єднати ваш PR. Ви маєте щось цінне додати до проекту?