Question: I know this question was asked a lot, but going through dozens of answers none have been helpful. 
I'm attempting to run a simple hello world on my Huawei Mate 9 using Android Studio 2.3.1 (The APP is 4.X Jellybean API) running on Debian (Jesse). 

-I have enabled debugging options on the phone (I can see developer options)

-Installed the SDK and ADB through the Android Studio.

-Device is being detected successfully on ADB devices.\*

-I have tried MTP and PTP (currently it's on PTP)

Despite all different combinations I don't see my phone ready for uploading my program.

\*With android studio closed:
when I check adb it usually never finds the phone the first time (adb devices) but after i do kill-server and start-server, i get the unique phone ID the second time I run adb devices. Needless to say, should I run studio after the second time around when it detects it, the phone still does not appear.

Thanks

Answer: 
You originally asked which strategy argument to use with `git pull` to discard your own work (there is a pending edit that will change the question, if the edit is approved). The answer is: None.

Don't use `git pull` at all. Run `git fetch` first:

```
git fetch origin

```

This brings over all the new stuff from the other Git you have your Git calling "origin".

Now that you have everything they have, simply stop using what you have been using, and switch to theirs:

```
git reset --hard origin/master   # assuming you're on your "master"

```

You may also want to use `git clean -fdx` to remove build artifacts, but that's a separate issue.
In Android Studio do the following:

-Open the **Version Control** tool window Alt+9 and switch to the **Log** tab. 

-Select the recent commit and right click on it than select **Reset Current Branch to Here**.

-A Git Reset popup will open -> select **Hard** -> click **Reset**