Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 42ec6a5

Browse files
NelleVtacaswell
authored andcommitted
Small rewrite of the rebase PR
1 parent 51bc33a commit 42ec6a5

File tree

1 file changed

+23
-30
lines changed

1 file changed

+23
-30
lines changed

doc/devel/coding_guide.rst

Lines changed: 23 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -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

195188
The following example assumes that the remote of _your_ github
196189
repository 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

244237
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
246239
that had conflicts. In this case in the file
247240
`lib/matplotlib/backends/backend_gtk3.py`. For more verbose information run ::
248241

0 commit comments

Comments
 (0)