Saturday, 4 October 2014

GitHub quick start howto

The vastness of GitHub has always been daunting, so now that I wanted to contribute to NetHunter (well... as much as I can really!) it was time to slay that dragon (thankfully I did not have to do it on my own!)

  • First make an account in GitHub
  • On your terminal type to configure your global username and email
    git config --global user.name "<usrname>"
    git config --global user.email "<youremail>"
  • You can cahe your credentials locally so you dont have to enter them every time (1h)
    git config --global credential.helper cache
    git config --global credential.helper 'cache --timeout=3600'
  • Go to the nethunter-github and click the fork button to copy everything to your own account.
  • Create a basic skeleton and download everything
    mkdir ~/arm-stuff
    cd ~/arm-stuff
    git clone https://github.com/<username>/kali-nethunter.git
    cd ~/arm-stuff/kali-nethunter
  • Configure the upstrem source so the refreshes come from the original repo instead of your own
    git remote -v
    git remote add upstream https://github.com/offensive-security/kali-nethunter.git
  • Refresh from the original
    git fetch upstream
    git checkout master
    git merge upstream/master
  • Make your changes
  • Add your changes to your local index
    git add flash/system/xbin/*something*
    git commit -m "Addition for something"
  • Push to your account's master repo
    git push origin master
    Username for 'https://github.com': <username>
    Password for 'https://<username>@github.com': <password>
  • Go to GitHub and create a pull request
    https://github.com/<username>/kali-nethunter/pull/new/master

References:
https://help.github.com/articles/fork-a-repo/
https://help.github.com/articles/using-pull-requests/
http://rogerdudler.github.io/git-guide/

Many thanks to binkybear and Photonicgeek for their help :)