git提交到github

前提:windows操作系统,安装好git,有一个github账户。

一.ssh配置


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,可作为参考。

二.将本地项目提交至github 


1.进入项目文件夹,右键文件/文件夹选择Git Bash Here或直接打开Git Bash Here使用cd进入到目标路径。 执行git命令,此命令会在当前目录下创建一个.git文件夹。

$ git init

2.将项目的所有文件添加到仓库中(注意别丢掉“.”)

$ git add .

   注:  如果想添加某个特定的文件,只需把.换成特定的文件名即可

 3.到github上创建一个repository,如下图 

git提交到github_第1张图片

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的账号和密码就行了. 

 

三.从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

你可能感兴趣的:(git提交到github)