1. Create a new repository on GitHub. To avoid errors, do not initialize the new repository with README, license, or gitignore files. You can add these files after your project has been pushed to GitHub.

2. Open Terminal.

3. Change the current working directory to your local project.

4. Set an email address in Git.  You can use your GitHub-provided no-reply email address or any email address.

$ git config --global user.email "email@example.com"

4. Confirm that you have set the email address correctly in Git:

git config --global user.email

5. Initialize the local directory as a Git repository.

git init


5. Add the files in your new local repository. This stages them for the first commit

$ git add . 
#Adds the files in the local repository and stages them for commit. To unstage a file, use 'git reset HEAD YOUR-FILE'. 

6. Commit the files that you've staged in your local repository.

$ git commit -m "First commit" 
#Commits the tracked changes and prepares them to be pushed to a remote repository. To remove this commit and modify the file, use 'git reset --soft HEAD~1' and commit and add the file again.


7. At the top of your GitHub repository's Quick Setup page, click  to copy the remote repository URL.

In my case the remote repository URL is : https://github.com/Reddah-Cherara/AWS-CodePipeline-Sample.git

8. In Terminal, add the URL for the remote repository where your local repository will be pushed.

$ git remote add origin remote repository URL
#Sets the new remote
$ git remote -v
# Verifies the new remote URL


$ git remote add origin https://github.com/Reddah-Cherara/AWS-CodePipeline-Sample.git

9. Push the changes in your local repository to GitHub.

$ git push -u origin master 
#Pushes the changes in your local repository up to the remote repository you specified as the origin

if you get the error  ! [remote rejected] master -> master (push declined due to email privacy restrictions)

  • Open your GitHub account, and go to Settings > Emails.
  • Select the Keep my email address private check box.
  • Unselect the Block command line pushes that expose my email check box.
This is a solution but might actually expose your email address. If you have any commits that haven't been pushed yet, you'll need to uncheck Block command line pushes that expose my email. Then you can push those pending commits. Afterwards, update your email address to the no-reply email address and check Block command line pushes that expose my email again to keep your address private

Before the commit :

After the commit :