Integrating Remote Repositories
Last updated
Last updated
Now that we have started working on our local repository in Getting Started, we may want others to view the contents of our repositories. We may also want a layer of security against local machine crashes by storing our repositories somewhere else.
This is where remote repositories and Github come into play.
You can visit the following link: or simply use the Github UI to create a new repository:
Then, you should see the following page:
Some key details to take note of:
Repository template: creates a project with some basic files already included (we won't use this)
Repository name: any name you want to give your project, you can follow the same name as your local folder (please fill this up)
Description: optional description about your project (optional)
README
: file that normally contains basic documentation about the project (do not create one)
.gitignore
: tells Git to ignore certain files (such as private files) (do not create one)
LICENSE
: specifies an open-source license (if any) (do not create one)
We do not create a README
or .gitignore
or LICENSE
as we have existing files locally and we don't want to cause any problems when trying to move the local repository to Github.
Once done, you should see the following:
Now, let's get your local repository to Github through the remote repository you just created.
The local repository needs to know which remote repository it is going to be connected to. This is where the git remote
command comes in handy.
It is used to manage remote repositories for your local repository.
In this instance, we want to add the remote repository you created to the local repository under the name origin
(in fact, we can name it anything, origin
is just the convention):
Now that you have added the remote repository link to the local repository, you then need to retrieve the main
branch from the remote repository (recall that the main
branch is the default branch).
This is done using
To upload all local snapshots to the remote repository, you will use git push
.
Once done, you can navigate back to the Github repository and refresh the page. You will notice the following:
If you open hello.txt
, you'll also see that it has Hello World
in it.
What you have just accomplished is the "push" workflow where you push an existing local repository to Github. However, there may be times where you want to create a remote repository first and use it locally. This can be done via the "pull" workflow or "clone" workflow.
We will be working off of the same Github repository. Suppose that you want to create a copy of the remote repository on your local machine. You can do so with the following.
Ensure that you navigate out of the current folder:
Then, use the git clone
command:
Then, you can navigate into the folder and view hello.txt
:
Regardless of the method you have used, you have now integrated a local repository with a remote one! Let's move on to the final two fundamental concepts: branching and merge conflicts.
Visibility: public (publicly accessible and viewable) or private (only viewable to yourself and any ) (set it to public for now)
-u
flag will set the "" which refers to the default remote repository you would want to push and pull from. Subsequent calls to git push
will not require -u
.