Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
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
@subhashisz
Copy link

subhashisz commented Aug 9, 2021

If you have a README.md file at remote and u followed the steps then you can not push it by the commands specified. It wont allow you, so when creating a remote repository try to avoid creating README.md file

@killshot13
Copy link

killshot13 commented Aug 15, 2021

If you have a README.md file at remote and u followed the steps then you can not push it by the commands specified. It wont allow you, so when creating a remote repository try to avoid creating README.md file

Good point! I have also encountered this issue, so if you accidentally add some generic files to your remote repo during the creation, and you are not concerned with preserving the existing local git history, you can still connect your codebase to the new remote repository.

NOTE: This method is destructive and you will lose code history if you use this on a mature codebase! Use with caution and discretion. There are other (more complex) solutions out there if you ever need to flush credentials, etc., from production source code.

First, delete any existing .git folders by running sudo rm -rf .git at your local root, and now you can initialize git again with the following.

# at root of local codebase
> git init
> git add --all
> git commit -m 'First commit'

# copy the remote repository URL
> git remote add origin <remote repository URL>
	
# set the new remote
> git remote -v

# now push as you normally would
> git push 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

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

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

nyakagwafred commented Aug 31, 2021

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

hyoretsu commented Sep 10, 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

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

xarmtech commented Sep 21, 2021

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

TheAlienMann commented Oct 28, 2021

this should help github documentaion

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

@georgiod9
Copy link

georgiod9 commented Nov 13, 2021

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

@TheAlienMann
Copy link

TheAlienMann commented Nov 13, 2021

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

No.

@codewizard13
Copy link

codewizard13 commented Nov 28, 2021

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

codewizard13 commented Nov 28, 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

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

codewizard13 commented Nov 28, 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

Thanks! The date was helpful.

@killshot13
Copy link

killshot13 commented Jan 11, 2022

@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.

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