[GUIDE] How to upload repo with commit history
In the time I’ve spend dealing with open source projects and just being around fellow developers, I’ve found that there are a few things that should not happen but continue on happening.
Why does this happen?
Maybe a case of laziness, maybe they are trying to hide something….who knows but one thing that is sure is that it should not happen.
What I’m speaking of is people uploading repos without commit history. It bugs the living hell out of me. It does because sometimes I’m trying to learn how to do something and without commit history, is kind of difficult to do so. I mean, some brag that they’re 100 percent open source but I don’t think you can claim that without commit history in place.
Also, you can’t complain if you’re not willing to provide a solution to the problem….right?
Ok, well I will go ahead and provide a simple step by step way of uploading a repo with commit history as well as provide screenshots for those that learn by seeing.
So let’s say you want to upload a repo to your github but you don’t want to fork it for one reason or another.
I personally like to upload repos instead of forking them ONLY because I had a case back during Android 4.1.2 where I forked AOKP’s frameworks_base repo and some how it got corrupted and github claim that there was nothing they could do because it was a fork.
This made me mad and ever since I upload repos with commit history instead of just fork them on github.
Anyways, let’s start……
Find that repo and copy the HTTPS clone URL
Open up a terminal then type in "git clone + the https URL"
Press Enter and let it do it's thing
Now head over to github and create a repo, this is important
Now type in the name of the repo (whatever you want) and hit "Create repository"
You will be prompted with a screen like below, the bottom part is what we'll be using
Open up a terminal and navigate to the repo you git cloned above
Ok so when you fork a repo, you usually have a .git folder and with that it has a origin. Where it came from and what is used to know where to push to if you typed in something like git push origin or whatever. With that said, you have now git clone this repo and are wanting to upload it but yet keep commit history. So you need to type in the following command to remove the origin and have it pointing to your newly created repo
Keep in line with the step above, type in "git remote rm origin"
With all repos, you have branches. Branches are generally used to create snapshots of your work but sometimes used to work on other things while keeping the main goal in place and not having to create another repo. For example, if I had a repo that is used for KitKat 4.4.2 but Google decides to push 4.5 or 5.0 or whatever and I want to keep the work I did on 4.4.2, I would simply create another branch and use it for 4.5 or 5.0 or whatever.
With that said, you need to create a branch to start things off since this will a new repo....at least for you it is.
Type in "git branch master"
and you'll find sometimes it exists, sometimes it doesn't. If it does then that's good......don't freak out! Just means you don't need to do this step
Ok after this you will need to go back to your github repo you created not so long ago and find the two lines I highlighted/had arrows pointing to and copy/paste them into terminal
Make sure you type in your Github username/password when prompted
and the end result should look like this
ENJOY and hopefully this will help someone that doesn't exactly want to hide their kanging tracks but just doesn't know how to upload a repo with commit history!