@@ -163,34 +163,27 @@ C/C++ extensions
163
163
docstrings, and the Numpydoc format is well understood in the
164
164
scientific Python community.
165
165
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
191
184
<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.
194
187
195
188
The following example assumes that the remote of _your_ github
196
189
repository is called `github ` and the remote of the official
@@ -201,8 +194,8 @@ up-to-date::
201
194
202
195
$ git fetch upstream
203
196
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 ::
206
199
207
200
$ git checkout backend_plt_refactor
208
201
@@ -242,7 +235,7 @@ and git will then give a bunch of feed back::
242
235
To check out the original branch and stop rebasing, run "git rebase --abort".
243
236
244
237
A 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
246
239
that had conflicts. In this case in the file
247
240
`lib/matplotlib/backends/backend_gtk3.py `. For more verbose information run ::
248
241
0 commit comments