本地Git仓库与Github远程仓库同步

时间:2023-03-08 23:20:48
本地Git仓库与Github远程仓库同步

在本地创建了一个Git仓库后,还想在Github创建一个Git仓库,并使其远程同步。
1.在电脑的用户主目录下有无.ssh目录,若有看是否有id_rsa和id_rsa.pub文件。若无,则创建SSH Key。打开Git Bash;

$ssh-keygen -t rsa -C "youremail@example.com"

2.在GitHub中的Account setting,SSH Keys页面,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。
3.登录Github后点击Create a new repository,创建一个新仓库,并命名如:test。
4.根据GitHub提示,在本地test仓库运行命令:

$git remote add origin git@github.com:xxxxx/test.git

注意:要将xxxxx换成自己的Github账户名,否则推送不上。
5.将本地库所有内容推送到远程库上:

$ git push -u origin master
Counting objects: 19, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (19/19), 13.73 KiB, done.
Total 23 (delta 6), reused 0 (delta 0)
To git@github.com:michaelliao/learngit.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.

此后,只要本地做了提交,就能通过命令:

$git push origin master

即要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
源自:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013752340242354807e192f02a44359908df8a5643103a000

设置ssh后还需要用户名和密码:

遇到此问题说明你用的是https而不是ssh。所以,你可以更新origin:

git remote remove origin
git remote add origin git@github.com:Username/Your_Repo_Name.git

对于https方式可以在~/.netrc文件里设定用户名密码,不过这样的风险在于密码是明文存放在这个文件里的,比较容易泄露

machine github.com
login Username
password Password