这篇文章写得是windows下的使用方法。
第一步:创建Github新账户
第二步:新建仓库
第三部:填写名称,简介(可选),勾选Initialize this repository with a README选项,这是自动创建REAMDE.md文件,省的你再创建。
第四步:安装Github shell程序,地址:http://windows.github.com/
第五步:打开Git Shell,输入以下命令生成密钥来验证身份
ssh-keygen -C 'your@email.address' -t rsa
连续三个回车之后会在windows当前用户目录下生成.ssh文件夹,和linux一样。
把文件夹下的id_rsa.pub文件内容全部复制。
然后打开github账户设置,如图
打开ssh keys
然后在title随便输入,key栏粘贴刚才的密钥。
第六步:在Git Shell下输入命令测试刚才的公钥是否认证正确。
ssh -T git@github.com
正确结果会显示:
Warning:Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts. Hi Flowerowl! You've successfully authenticated, but GitHub does not provide shell access.
warning 不用理会。
第七步:clone刚才新建的repository 到本地,输入命令:
git clone https://github.com/Flowerowl/stumansys.git
这时会在目录下生成:
第八步:将想上传的代码目录拷贝到此文件夹下:
第九步:切换到Git shell 命令行下,输入命令:
git init git commit -m 'stumansys' git remote add origin https://github.com/Flowerowl/stumansys.git git push origin master
如果执行git remote add origin
https://github.com/Flowerowl/stumansys.git
,出现错误:
fatal: remote origin already exists
则执行以下语句:
git remote rm origin
再往后执行git remote add origin https://github.com/Flowerowl/stumansys.git 即可。
在执行git push origin master时,报错:
error:failed to push som refs to.......
则执行以下语句:
git pull origin master
先把远程服务器github上面的文件拉先来,再push 上去。
报错"Everything up-to-date"解决方法:
在github上git clone一个项目,在里面创建一个目录,然后git push的时候,出现报错"Everything up-to-date"
原因:
1)没有git add .
2)没有git commit -m "提交信息"
这里有种特殊的情况是如果你是fork别人的仓库再clone到本地的话,即使Git上只有一个主分支,他还是可能出现这个错误。那么我们就需要新建分支提交改动然后合并分支。
接下来先创建一个新分支提交改动
然后输入这条命令检查是否创建成功 这时输出 这样就创建成功了,前面的*代表的是当前你所在的工作分支。我们接下来就要切换工作分支。 这样就切换完了,可以$ git branch
确认下。然后你要将你的改动提交到新的分支上。
此时可以
$ git status
检查下提交情况。如果提交成功,我们接下来就要回主分支了,代码和之前一样。
然后我们要将新分支提交的改动合并到主分支上
合并分支可能产生冲突这是正常的,虽然我们这是新建的分支不会产生冲突,但还是在这里记录下。下面的代码可以查看产生冲突的文件,然后做对应的修改再提交一次就可以了。
我们的问题就解决了,接下来就可以push代码了。
新建分支的朋友别忘了删除这个分支
如果想保留分支只是想删除已经合并的部分只要把大写的D改成小写的d就行了。
更新仓库代码
输入命令 cd Test,进入Test文件夹
接下来依次输入以下代码即可完成其他剩余操作:
git add . (注:别忘记后面的.,此操作是把Test文件夹下面的文件都添加进来)
git commit -m "提交信息" (注:“提交信息”里面换成你需要,如“first commit”)
git push -u origin master (注:此操作目的是把本地仓库push到github上面,此步骤需要你输入帐号和密码)