@@ -163,6 +163,34 @@ 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 PR it is possible for other changes to get merged into
170
+ the parent branch that conflict with your branch. The conflict can be
171
+ trivial, for example both the parent branch and you branch add an
172
+ entry to the top of `CHANGELOG `. Git can not unambiguously tell what
173
+ to with both changes (should one go above the other? if so, which
174
+ order? should it try to merge them?) so it gives up and declare the
175
+ branches can not be merged cleanly. If you were the branches at the
176
+ command line you could do an interactive merge where git pauses half
177
+ way through to give you a chance to resolve the conflicts by hand,
178
+ however using github almost all of the merges back into the parent
179
+ branches are done via the web-interface, so only PRs which will
180
+ cleanly merged will be accepted. If this happens to your PR, one of
181
+ the developers will ask you to 'rebase' your branch which is the
182
+ process by which you resolve the conflicts between your branch and
183
+ 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
189
+ http://git-scm.com/book/en/Git-Branching-Rebasing. In general,
190
+ re-writing history (particularly published history) is considered very
191
+ bad, but in this case is very useful.
192
+
193
+
166
194
Style guide
167
195
===========
168
196
0 commit comments