How to push code to Github?
Git is one of the most popular Source Code Management(SCM) system. Git in itself is a huge topic and would take a lot of time and effort to master. This post is clearly for users to just get started, to push their first code/content to github.
Basic Git Commands
git config- Configure Git Project
git init- Initialize Git repository
git remote add origin- Link your local project folder to remote repository
git status- Check the status of a Git repository
git add- Track files
git commit- Commit tracked files
git push- Upload files
git pull- Download files
First step is to signup on GitHub. You should now have a custom username and a dedicated GitHub page. To access your page, try -
Let us say you have a folder on your computer which you want to upload(
push in terms of git) to github. First you will need to configure your global git account.
$ git config --global user.name "Firstname Lastname" $ git config --global user.email firstname.lastname@example.org
Now, open your project folder.
Initialize Git repository.
$ git init
Initialized empty Git repository in your folder path.
Great! Now you have an empty Git repo on your local computer.
git remote add origin
Now, link the folder on the local laptop to the github repository. This can be done by adding a remote origin to a git repository.
$ git remote add origin https://github.com/username/projectname.git
Nice! Now the remote origin is added to your local repository.
Considering you have couple of files in the local folder, let us say it is a website or a README.md file or a pdf or anything that you want to share on github, now it is time to check the status of the local repository.
git status gives the list of changes that is not committed yet.
To check the status of your local repository, enter the command -
$ git status
On branch master Initial commit Untracked files: (use "git add ..." to include in what will be committed) index.html README.md documentation.pdf nothing added to commit but untracked files present (use "git add" to track)
You now see all the files that are new and untracked. Untracked files are the files that are new or modified and not yet tracked or added to the git repository. For the git repository to track the file, you need to add the file or files to it.
To add all the files in the folder do-
$ git add .
Otherwise, if you want to add the files individually to the repository you can specify the names of the files-
$ git add index.html README.md documentation.pdf
Since you have added the files, now let's check the status again with
git status command.
$ git status
On branch master Initial commit Changes to be committed: (use "git rm --cached ..." to unstage) new file: index.html new file: README.md new file: documentation.pdf
Earlier the files were in red color on the terminal, remember that? Now, since you have added the files, all the files are now green in color. They are now tracked. You see that in the terminal
Changes to be committed.
Commit tracked files to the master branch
$ git commit -m "Initial Commit"
[master (root-commit)] Initial 3 files changed, 334 insertions(+) create mode index.html create mode README.md create mode documentation.pdf
With this command, I commit the files that I added earlier with a message (-m) which we can recognise ("Initial Commit").
The commit text (Ex- "Initial Commit") is very important. As and when your code repository or your content repository grows, you track the changes you made historically using the commit message. Let us say if you need to revert the change you made earlier, commit message is something that you can relate to.
Write meaningful commit messages!
Example - "Changed the button color to yellow", "Added margin spacing for the table component", "Feature : Sorting of list", etc.,
Here we go, you are just one step away from seeing your code on github!
Let's go ahead and do it
$ git push -u origin master
Terminal will prompt you to enter your GitHub username and password. After you enter and submit, the code gets pushed and you should see something like this on your terminal
Username for 'https://github.com': username Password for 'https://email@example.com': Counting objects: 7, done. Delta compression using up to 8 threads. Compressing objects: 100% (7/7), done. Writing objects: 100% (7/7), 16.51 KiB | 0 bytes/s, done. Total 7 (delta 4), reused 0 (delta 0) remote: Resolving deltas: 100% (4/4), completed with 4 local objects. To https://github.com/username/projectname.git 77061c7..1a436a1 master -> master
Now refresh your GitHub page
https://github.com/username/projectname. You should now see all your files on Github website!
Congratulations! It was simple wasn't it?
Let us say you are on another computer or you want to pull the latest changes from the remote github repository to keep your local changes updated, you can pull the changes from github using the command-
$ git pull origin master
That's about it! :) Check out more git or github related content.