@@ -163,34 +163,27 @@ C/C++ extensions
163163 docstrings, and the Numpydoc format is well understood in the
164164 scientific Python community.
165165
166- Rebase a Pull Request
167- ----------------------
168-
169- When working on a PR it is possible for other changes to get merged
170- into the parent branch that conflict with changes on your branch. The
171- conflicts can be trivial, for example both the parent branch and your
172- branch add an entry to the top of `CHANGELOG `. Git can not
173- unambiguously tell what to with both changes (should one go above the
174- other? if so, which order? should it try to merge them?) so it gives
175- up and declare the branches can not be merged cleanly. If you were
176- the branches at the command line you could do an interactive merge
177- where git pauses half way through to give you a chance to resolve the
178- conflicts by hand, however using github almost all of the merges back
179- into the parent branches are done via the web-interface, so only PRs
180- which will cleanly merged will be accepted. If this happens to your
181- PR, one of the developers will ask you to 'rebase' your branch which
182- is the process by which you resolve the conflicts between your branch
183- and the parent branch.
184-
185- In git rebasing is a mild form of re-writing history, as it
186- effectively transplants where your branch from where you intially
187- forked of off the parent branch to some other point. For a much more
188- detailed explanation (with pictures!) see `this nice write up
189- <http://git-scm.com/book/en/Git-Branching-Rebasing> `. The numpy team
190- has also `documented how to do this
166+ Rebasing a Pull Request
167+ -----------------------
168+
169+ When working on a PR, changes may occur in the parent branch (usually master).
170+ This can lead to conflict with changes in your branch. The conflicts can be
171+ trivial: for example both the parent branch and your branch add an entry to
172+ the top of `CHANGELOG `. Git can not unambiguously tell what to with both
173+ changes (should one go above the other? if so, which order? should it try to
174+ merge them?) so it declares the branches can not be merged
175+ cleanly. Github can only automatically merge PR without conflicts, so you will
176+ need to manually 'rebase'. This is the process of updating your branch with
177+ upstream changes, and resolving conflicts.
178+
179+ In git, rebasing is a mild form of re-writing history: it effectively forwards
180+ all your commits to the updated upstream commit. For a much more detailed
181+ explanation (with pictures!) see `this nice write up
182+ <http://git-scm.com/book/en/Git-Branching-Rebasing> `. The numpy team has also
183+ `documented how to do this
191184<http://docs.scipy.org/doc/numpy/dev/gitwash/development_workflow.html#rebasing-on-master> `
192- In general, re-writing history, particularly published history, is
193- considered bad form , but in this case it is very useful.
185+ In general, re-writing history, particularly published history, is considered
186+ bad practice , but in this case it is very useful.
194187
195188The following example assumes that the remote of _your_ github
196189repository is called `github ` and the remote of the official
@@ -201,8 +194,8 @@ up-to-date::
201194
202195 $ git fetch upstream
203196
204- which updates your local copy of the repository, but does not change any files
205- in your working copy. Next, switch to the branch that you want to rebase ::
197+ This updates your local copy of the repository, but does not change any files
198+ in your working copy. Next, switch to the branch that you want to update ::
206199
207200 $ git checkout backend_plt_refactor
208201
@@ -242,7 +235,7 @@ and git will then give a bunch of feed back::
242235 To check out the original branch and stop rebasing, run "git rebase --abort".
243236
244237A number of commits could be cleanly applied to
245- the tip of `upstream/master `, however, git eventualy hit a commit
238+ the tip of `upstream/master `, however, git eventually hit a commit
246239that had conflicts. In this case in the file
247240`lib/matplotlib/backends/backend_gtk3.py `. For more verbose information run ::
248241
0 commit comments