Как сделать несколько запросов на тягу к проекту GitHub - PullRequest
0 голосов
/ 08 марта 2020

Я всегда работал с git и opensr c очень простым ограниченным способом

  • I fork проект в github
  • I git клон моя вилка к моему компьютеру
  • Я делаю некоторые изменения на своем компьютере
  • I фиксирую изменения
  • I pu sh на мою вилку github
  • Я создаю запрос на извлечение от моей github вилки к оригиналу project

Это работает для одного изменения.

Если я внесу дополнительные изменения на своем компьютере и передам их, а также pu sh до принятия запроса на получение, они добавляются в тот же запрос на извлечение. Я знаю, что это не идеально, поэтому я пытаюсь дождаться принятия первого запроса, прежде чем вносить дальнейшие изменения, но это не всегда возможно.

Так что я понимаю, что в идеале вы должны создавать отдельные ветви для каждой ошибки фикс. Поэтому я сделал новую ветку, внес изменения, зафиксировал изменения и отправил их обратно в github. Но я не вижу этой новой ветки на github, и я не уверен, что мне делать дальше?

Когда я запускаю git pu sh в этой новой ветке я получаю

ubuntu@ip-172-31-39-147:~/code/discogs-xml2db/speedup$ git push
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use:

  git config --global push.default simple

When push.default is set to 'matching', git will push local branches
to the remote branches that already exist with the same name.

In Git 2.0, Git will default to the more conservative 'simple'
behavior, which only pushes the current branch to the corresponding
remote branch that 'git pull' uses to update the current branch.

See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)

Я не получил этого, когда нажал на другую ветку, значит ли это, что pu sh на самом деле не произошло?

Обновление , поэтому я попробовал совет Швернса, команда как не работала, но добавление setup upstream origin сработало, изменения были перенесены в github, и теперь я вижу эту новую ветку на github. ,

ubuntu@ip-172-31-39-147:~/code/discogs-xml2db/speedup$ git config --global push.default simple
ubuntu@ip-172-31-39-147:~/code/discogs-xml2db/speedup$ git push
fatal: The current branch releasestatus has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin releasestatus

ubuntu@ip-172-31-39-147:~/code/discogs-xml2db/speedup$ ^C
ubuntu@ip-172-31-39-147:~/code/discogs-xml2db/speedup$  git push --set-upstream origin releasestatus
Username for 'https://github.com': ijabz
Password for 'https://ijabz@github.com':
Counting objects: 17, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 600 bytes | 0 bytes/s, done.
Total 6 (delta 5), reused 0 (delta 0)
remote: Resolving deltas: 100% (5/5), completed with 5 local objects.
remote:
remote: Create a pull request for 'releasestatus' on GitHub by visiting:
remote:      https://github.com/ijabz/discogs-xml2db/pull/new/releasestatus
remote:
To https://github.com/ijabz/discogs-xml2db.git
 * [new branch]      releasestatus -> releasestatus
Branch releasestatus set up to track remote branch releasestatus from origin.

1 Ответ

1 голос
/ 08 марта 2020

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

git push на самом деле имеет еще две части: где pu sh («удаленный») и какая ветвь к пу sh к. Когда вы находитесь в своей основной ветке git push на самом деле git push origin master. Удаленный репозиторий, из которого вы клонировали, называется «origin», и Git знает, что ваша главная ветвь пришла из его главной ветви.

Когда вы создаете новую ветку, Git не знает, где вы хотите sh это до. Если вы запустите git push в своей новой ветке, вам придется угадывать. push.default говорит Git, как угадать, и оно не установлено.

Вы можете прочитать git-config, чтобы узнать больше о параметрах, но я рекомендую установить его на simple , Он будет догадываться, что вы хотите положить sh его в ветку с тем же именем, что и у вас.

git config --global push.default simple

Теперь вы должны иметь возможность git push на Github.

Вы также можете прописать это для Git: git push origin <name of your branch>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...