前提:windows操作系统,安装好git,有一个github账户。
1.ssh介绍
ssh是一种安全的传输模式,github要求推送代码的用户是合法的,所以每次推送时候都要输入账号密码,用以验证你是否为合法用户,为了省去每次都要输入密码的步骤,采用shh公钥,密钥。也就是sshkey来验证是否为合法用户。
所以它在我们电脑生成了一个唯一的ssh公钥和私钥,公钥放到github上面,当你推送的时候,git就会匹配你的私钥是否跟github上面的公钥是配对的,正确就认为你是合法的,允许推送。sshkey可以理解为是身份标识,放在github上面表明你是这个项目的一个开发人员,但是别人是可以截获的,你本机的私钥别人就无法截获,sshkey就可以保证每次传输都是安全的。
2.ssh的配置
ssh的配置博客上有很多文章,这个写的挺全的https://blog.csdn.net/qq_29232943/article/details/53523434,可作为参考。
1.进入项目文件夹,右键文件/文件夹选择Git Bash Here或直接打开Git Bash Here使用cd进入到目标路径。 执行git命令,此命令会在当前目录下创建一个.git文件夹。
$ git init
2.将项目的所有文件添加到仓库中(注意别丢掉“.”)
$ git add .
注: 如果想添加某个特定的文件,只需把.换成特定的文件名即可
3.到github上创建一个repository,如下图
4.将本地的仓库关联到github上
$ git remote add origin [email protected]:zhangyupy/HelloGit.git
其中,zhangyupy为github用户名,HelloGit为github创建的仓库名称
> 如果你的电脑是第一次连接github,请继续看第5步说明,如果该项目是第一次远程连接github,请看第6步说明,否则直接到第7步。
5.本机第一次连接
git config --global user.email "[email protected]"
git config --global user.name "githubname"
注意:此时的登陆是全局的,也就是说你=在下一次连接github就可以不用走这个步骤了,如果只想针对某个仓库授权,把--global 改成自己的仓库名称即可
之后参考文章https://www.cnblogs.com/flora5/p/7152556.html,进行ssh配置
6. 项目第一次上传
git remote add origin [email protected]:username/xxx.git -- 远程关联
git add add.php addok.php conn.php del.php edit.php editok.php ftpsql.sql index.php
git commit -m "init files"
7.上传代码到github
$ git push -u origin master
执行完后,如果没有异常,等待执行完就上传成功了,中间可能会让你输入Username和Password,你只要输入github的账号和密码就行了.
首先需要从本地仓库增删。add命令会识别新增的及更改的文件(不包含删除的文件),并将他们保存到本机缓存。
$ git add .
对这些新增及更改的文件做上注释,这些注释随着下面的提交会一起发送到github上。
git commit -m 'first commit'
第一次使用加上了-u参数,是推送内容并关联分支。
$ git push -u origin master
推送成功后就可以看到远程和本地的内容一模一样,下次只要本地作了提交,就可以通过命令把最新内容推送到Github
$ git push origin master
了解其他更详细的git命令,可见Git常用命令速查表:https://www.cnblogs.com/eedc/p/6168430.html
$ git push -u origin master
问题1:
error: src refspec master does not match any.
error: failed to push some refs to '[email protected]:hahaha/ftpmanage.git'
原因:
本地仓库为空
解决方案:
$ git add add.php addok.php conn.php del.php edit.php editok.php ftpsql.sql index.php //可省略
$ git commit -m "init files"
问题2:
error:master -> master(non-fast-forward)
原因:
github上有一个README.md 文件没有下载下来
解决方案:
$ git pull --rebase origin master
$ git push -u origin master
问题3:
fatal: remote origin already exists.
原因:
本地目录已经关联过远程仓库了,如需更改仓库名称,需先取消本地目录的关联,再进行新的关联
解决方案
git remote remove origin
版权声明:--------------------------------------------博文可随意转载,但请注明出处,谢谢!-------------------------------------------- https://blog.csdn.net/weixin_42474261/article/details/811823
参考
https://www.cnblogs.com/jeremylee/p/5715289.html