Let's talk about why someone would want a setup like this.
You are adding your own code base.
You want to stay up to date with the main Athena repository.
You want to build on top of Athena.
You want to be able to merge in new code.
You want to be able to handle merge conflicts from the new code.
Create a bare clone of the Athena Repository
git clone https://github.com/Stuyk/altv-athena --bare altv-athena-bare
Create a new private repistory on github. Let's call it altv-athena-private
Copy your URL from github.
Move into the bare directory from your command line tool of choice
Mirror the bare repository to your private mirror.
git push --mirror <your_github_url_here>
Delete the bare repository.
cd ..rmdir altv-athena-bare
Clone the repository down from github.
git clone <your_github_url_here>
Add the upstream of the original athena repository.
git remote add upstream [email protected]:Stuyk/altv-athena.gitgit remote set-url --push upstream DISABLE
Instead of being an absolute scrub and merging files in one at at ime, you're going to be using git to pull down changes. Which does things mostly automatically.
Here are some notes before you perform these actions (SUPER IMPORTANT):
Close All Open Files
Push All Current Change to Private Repository
Run the two commands below.
git fetch upstreamgit pull upstream master
Don't worry I made a simple video to help explain merge conflicts. Check out this video:
If you make changes in your private clone. You can now simply push to the private repository and pull it down anywhere. Which is really great.
Here's how you can push changes.
git add .git commit -m "What did I commit to the repo"git push origin master