I'm trying to push a bug fix to the pandas
github repository. Before pushing I had to perform the following commands to make sure my master branch is updated:
# go to the master branch
git checkout master
# pull changes from github
git fetch upstream
# update the master branch
git rebase upstream/master
# push it to your Github repo
git push
Then, I update the local branch:
# go to the feature branch
git checkout my-new-feature
# make a backup in case you mess up
git branch tmp my-new-feature
# rebase on master
git rebase master
git rebase master
failed because there are conflicts to solve. To solve them, I'm using git mergetool
, which I've associated with Meld, an open source tool to display LOCAL (left), BASE (middle) and REMOTE (right) files.
In this case I have some code in the LOCAL file which is not present in the remote. I didn't add that code, so I'm assuming the code has been removed by a merge upstream, while I was working on my local branch. I would therefore opt for removing the code from my LOCAL, in order to have LOCAL, BASE and REMOTE aligned.
Now, what about the picture above? Last time I tried to take the changes from the REMOTE file, but when I've pushed my change on GitHub, it looked like I the added white-spaces were not from the remote, but I added them. Am I misunderstanding what REMOTE, LOCAL and BASE means?
To me REMOTE is the upstream version, LOCAL the local file I'm working on and BASE a partial merge git was able to carry over, but requires some manual intervention to complete.
How do you perform manual merges? I would take everything from the REMOTE but the changes I personally made.
What makes me doubt about my initial understanding of what LOCAL and REMOTE are, is the following picture.
I wrote the code highlighted in the right hand side
- ``concat`` will now use existing Series names if provided (:issue:`10698`).
.. ipython:: python
foo = pd.Series([1,2], name='foo')
bar = pd.Series([1,2])
baz = pd.Series([4,5])
Previous Behavior:
.. code-block:: python
In [1] pd.concat([foo, bar, baz], 1)
Out[1]:
0 1 2
0 1 1 4
1 2 2 5
New Behavior:
.. ipython:: python
pd.concat([foo, bar, baz], 1)
So why is that in the REMOTE and not in the LOCAL? I would expect it to be in the LOCAL file and not in the REMOTE, considering that hasn't been merged yet upstream.