Skip to content

Instantly share code, notes, and snippets.

@c0ldlimit
Created November 16, 2012 17:14
Show Gist options
  • Save c0ldlimit/4089101 to your computer and use it in GitHub Desktop.
Save c0ldlimit/4089101 to your computer and use it in GitHub Desktop.
Git: Push a new or existing repo to Github
# Create a new repository on the command line
touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/c0ldlimit/vimcolors.git
git push -u origin master
# Push an existing repository from the command line
git remote add origin https://github.com/c0ldlimit/vimcolors.git
git push -u origin master
@hyoretsu
Copy link

hyoretsu commented Aug 22, 2021

GitHub CLI already seems to do everything for us, aside from creating the folder. (since we wouldn't be able to cd to it before running gh repo) Only thing I haven't figured out is how to initialize the repository without a gitignore.

[alias]
create = !git init && gh repo create $2 --public -y

@hyoretsu
Copy link

GitHub CLI already seems to do everything for us, aside from creating the folder. (since we wouldn't be able to cd to it before running gh repo) Only thing I haven't figured out is how to initialize the repository without a gitignore.

[alias]
create = !git init && gh repo create $2 --public -y

To work around to automate the first commit, I also added -u origin HEAD to my current push alias

[alias]
ps = !git push -u origin HEAD && git push --tags

To sum it up:

mkdir [repo]
cd [repo]
git create [repo]
git add .
git commit -m "commit_message"
git ps

It'd also be great if someone found a good license gen cli. Basically I generated it using GitHub CLI simply by using -l mit, but that creates our first commit already. (which wouldn't be ideal if you want a .gitignore but not one of the premade ones)

@nyakagwafred
Copy link

Just one note: if the repository doesn't exist in Github, first you will have to create it: https://help.github.com/articles/creating-a-new-repository/

Thanks mate. I was trying to just push without first creating a repo on github 😢

@Adeinfo
Copy link

Adeinfo commented Sep 9, 2021

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.

This happened when i tried " git push -u origin main " from my terminal on my PC

@hyoretsu
Copy link

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.

This happened when i tried " git push -u origin main " from my terminal on my PC

Tip, using git push -u origin HEAD automates the command to use whichever local branch you're currently in. Also yeah, it's what the error says.
For developers, if you are using a password to authenticate Git operations with GitHub.com today, you must begin using a personal access token over HTTPS (recommended) or SSH key by August 13, 2021, to avoid disruption. If you receive a warning that you are using an outdated third-party integration, you should update your client to the latest version.
You need to create and use a PAT as stated and linked in the article.

@xarmtech
Copy link

Help Please!
i am getting this error after pushing the project to github

PS D:\Unity\ZiaUlQuran> git push origin HEAD:main
Enumerating objects: 4443, done.
Counting objects: 100% (4443/4443), done.
Delta compression using up to 4 threads
error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: CANCEL (err 8)
Writing objects: 100% (4443/4443), 726.22 MiB | 4.75 MiB/s, done.
fatal: the remote end hung up unexpectedly
Everything up-to-date

@killshot13
Copy link

killshot13 commented Oct 26, 2021

GitHub CLI already seems to do everything for us, aside from creating the folder. (since we wouldn't be able to cd to it before running gh repo) Only thing I haven't figured out is how to initialize the repository without a gitignore.

[alias]
create = !git init && gh repo create $2 --public -y

To work around to automate the first commit, I also added -u origin HEAD to my current push alias

[alias]
ps = !git push -u origin HEAD && git push --tags

To sum it up:

mkdir [repo]
cd [repo]
git create [repo]
git add .
git commit -m "commit_message"
git ps

It'd also be great if someone found a good license gen cli. Basically I generated it using GitHub CLI simply by using -l mit, but that creates our first commit already. (which wouldn't be ideal if you want a .gitignore but not one of the premade ones)

GitHub Licenses API?
It's not a CLI proper but has a lot of potential for getting the license data into the terminal.

@TheAlienMann
Copy link

this should help github documentaion

you need to install “gh”, the doc has explained it pretty well.

@georgiod9
Copy link

But doesn't this add an extra 'master' branch instead of pushing to 'main' branch?

@TheAlienMann
Copy link

But doesn't this add an extra 'master' branch instead of pushing to 'main' branch?

No.

@codewizard13
Copy link

git push -u origin master is now git push -u origin main

Thanks. Commentary or links on why this change was made would be helpful.

@codewizard13
Copy link

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
This happened when i tried " git push -u origin main " from my terminal on my PC

Tip, using git push -u origin HEAD automates the command to use whichever local branch you're currently in. Also yeah, it's what the error says. For developers, if you are using a password to authenticate Git operations with GitHub.com today, you must begin using a personal access token over HTTPS (recommended) or SSH key by August 13, 2021, to avoid disruption. If you receive a warning that you are using an outdated third-party integration, you should update your client to the latest version. You need to create and use a PAT as stated and linked in the article.

I'm a developer. I am trying to do a git push for the first time in several years and am curious to see if this is going to be a blocker for me.

@codewizard13
Copy link

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.

This happened when i tried " git push -u origin main " from my terminal on my PC

Thanks! The date was helpful.

@killshot13
Copy link

@codewizard13 in reference to the default branch name change, it remains a controversial topic, but here is a fairly unopinionated synopsis.

@mdphx
Copy link

mdphx commented Apr 5, 2022

Thanks! Worked like a charm. Tried many other suggestions before this one. Thanks again.

@kunalasingh
Copy link

I have a question, we need to create a repo on github first, then only we can push our repo? Can we not directly push a repo to our profile and it creates the repo from the folder name?

@priyanshu1507
Copy link

Just one note: if the repository doesn't exist in Github, first you will have to create it: https://help.github.com/articles/creating-a-new-repository/

i saw that vs code does it for you without us having to go to github to create one first

Alternatively, if you prefer to do this stuff from your CLI, you can install github for your terminal and then is as simple as typing: gh repo create your_repo

Hello, The command 'gh repo create your_repo' is showing invalid

@sophie5555
Copy link

Thanks looks good 👍👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment