GitHub是一个开源的项目代码的托管网站,相信很多人都在使用,其功能强大之处就不说了。如果你是第一次接触GitHub,可能对同步地仓库和远程仓库文件会有些头疼,因为同步操作需要借助msysgit(Git for Windows)和git命令才能完成。
下面就来详细介绍下,如何快速使用msysgit同步GitHub仓库。
详细步骤:
1.在使用msysgit之前,先登录github网站新建一个仓库,这个就是等下要同步的仓库(下面仓库的名称是Pano)
2.做好上述工作之后,才能开始使用mysysgit,打开Git Bash,准备输入git命令
3.配置msysgit和初始化本地仓库
3.1.首先在本地创建SSH Key,在Git Bash里输入下面的命令:
ssh-keygen -t rsa -C "your email"
把email换成你的邮箱地址,最好用你注册账号时的邮箱,然后会让你输入路径和密码,保持回车默认就行了,如果后面的操作也让你输入这些,同样回车默认。
如果成功的话,会在C:/Users/用户名/.ssh/文件夹中生成key,用记事本打开里面的id_rsa.pub文件,全部复制。
3.2.回到GitHub网站,进入Account Settings,选择SSH Keys,添加SSH Key,把刚才复制的key粘贴进去,title随便输。
![](https://images2015.cnblogs.com/blog/641758/201510/641758-20151001015211418-899761531.jpg)
3.3.验证是否成功,在Git Bash中输入:
ssh -T git@github.com
第一次的会提示是否continue,输入yes,如果看到:
......
You've successfully authenticated,but GitHub doesnot provide shell access .
说明已经连接上github了。
3.4.接着设置用户名和Email,在Git Bash中继续输入:
git config --global user.name "your name"
git config --global user.email "your email"
将上面的your name和your email换成你的用户名和邮箱。
3.5.新建一个本地仓库,名称要与github网页中的仓库一致,依次执行以下命令:
mkdir Pano
cd Pano
git init
执行完了以后,你会在C:/Users/用户名/下看到Pano文件夹,里面还有一个.git文件夹(这个文件夹是隐藏的,要打开显示隐藏,才能看到)。
3.6.为本地仓库添加远程地址
git remote add origin git@github.com:Neil173352/Pano.git
git@github.com:Neil173352/Pano.git 其实是SSH clone URL,这个地址可以在github上新建仓库中查找到,
Neil173352是我的用户名,Pano是仓库名称。完成之后,在本地仓库的.git文件夹中,打开config文件,可以看到刚刚添加的远程地址remote “origin”等内容。
3.7.接下来要做的就是把本地仓库和github上的仓库进行同步,可以先新建一个文件来测试下。
touch test
git add test
git commit -m 'first commit'
在本地仓库新建一个test文件,远程仓库是没有这个文件的。
3.8.将文件提交到github中的库中,执行下面命令:
git push -u origin master
这一步,会出现错误提示:
Administrator@NEIL-PC ~/Pano (master)
$ git push -u origin master
To git@github.com:Neil173352/Pano.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@github.com:Neil173352/Pano.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushin
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
3.9.在做push操作之前,必须pull一下,先同步本地仓库和远程仓库的文件,否则会出现上一步中的错误:
git pull git@github.com:Neil173352/Pano.git master
上述操作结束之后,查看远程仓库中是否增加了一个test文件,若有说明上传成功。msysgit不仅可以上传一个文件,还可以上传一个文件夹,只需要把git add后面的test换成文件夹名称,前提是把文件夹复制到本地仓库里,然后提交git commit -m 'xxx' ,所以只要把做好的项目放在本地仓库中,用Git Bash敲入命令同步一下,就可以把项目上传到GitHub,就是如此简单!