Github user filmaj commented on the issue:
https://github.com/apache/cordova-plugin-inappbrowser/pull/225
Sure! No problem.
First you'd need to clone the repository down to your machine, giving you a
local copy to work with. You already have your own fork of the repository
(https://github.com/janpio/cordova-plugin-inappbrowser), so you can clone that
down:
```
> git clone https://github.com/janpio/cordova-plugin-inappbrowser.git
```
Move into the directory you just cloned down:
```
> cd cordova-plugin-inappbrowser
```
You'll want to ensure you have all of your various branches and the latest
pulled down from your fork. Do that with the `fetch` command, specifying
`origin` as what you want to fetch. When you cloned the repository with the
`git clone` command, `git` automatically sets the origin "location" (or
"remote" in gitspeak) to the URL you originally cloned from.
```
> git fetch origin
```
According to the top of this PR, your changes are located in a branch of
your fork called `patch-1`. So, let's checkout this branch:
```
> git checkout patch-1
```
Now you should see your changes when you go look at the README.
Cool. Next, we will add a remote representing the Apache repository, so
that you can pull down the latest changes from the Apache repository:
```
> git remote add apache
https://github.com/apache/cordova-plugin-inappbrowser.git
```
Then, like we did for your fork, you'll want to pull the latest changes
from the Apache remote:
```
> git fetch apache
```
OK, we're getting closer. Rebasing essentially "synchronizes" changes
between two different branches of code. So, we'll want to have your `patch-1`
branch available, as well as the `master` branch _from the Apache remote_. This
is a little tricky, but I can guide you through it:
```
> git checkout -b apache-master remotes/apache/master
```
The above is saying, checkout a _new_ branch called `apache-master` (`-b
apache-master`), and have this branch _track_ the `master` branch from the
`apache` remote. Hope that makes sense and you are following along.
OK, almost there. Next we need to go back to your `patch-1` branch to begin
the rebase:
```
> git checkout patch-1
```
Finally, we initiate the rebase between your `patch-1` branch and the
apache `master` branch like this:
```
> git rebase -i apache-master
```
This will bring up an interactive console / text editor where you should be
shown a chronologically ordered list of your commits. Any line that starts with
a `#` is a comment and can be ignored - but read through them as it gives you
instructions on how to do rebasing. The other lines represent your individual
commits, and the first word in each line represents how you want to modify the
commits. What you will want to do is "squash" your last commit by changing the
first word in front of that commit to "squash". Then save and exit the text
editor. You will be presented with one more screen in a new text editing
window. This last screen will give you a chance to modify the commit message
for your new two-commits-squashed-into-one-commit reality. This is where I
would love if you would be able to prefix your commit message with "CB-12975" :)
I highly suggest reading thess article about rebasing "interactively":
- http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html
-
https://robots.thoughtbot.com/git-interactive-rebase-squash-amend-rewriting-history#interactive-rebase
Good luck! If you have any more questions, just ping me.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]