美文网首页git 、github
使用git 把代码提交到github上

使用git 把代码提交到github上

作者: 皇马船长 | 来源:发表于2016-12-28 18:08 被阅读193次

最近在研究如何把代码提交到github上的仓库里,在网上查了不少文章,介绍的都不是清楚,现在把自己试验成功的流程记录下来 。

我们在github上新建一个仓库后,clone时有两种方式:https 和 SSH ,所以也有两个地址

QQ截图20161228174954.png QQ截图20161228175004.png

那么我们在提交代码时,是不是根据这两个地址都可以提交啊 ??
这是现在的疑惑,目前只是用SSH方式提交成功了 。


更新:
https 和 SSH 的区别:
1、前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH key ,否则无法克隆。
2、https url 在push的时候是需要验证用户名和密码的;而 SSH 在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。

补充 : 实际测试中, 我用SSH url 也可以clone 别人的项目 ,这与第一点中的说法矛盾 ??
待核实 ...


1. SSH

那么什么是 SSH 呢? 简单点说,SSH是一种网络协议,用于计算机之间的加密登录。目前是每一台 Linux 电脑的标准配置。而大多数 Git 服务器都会选择使用 SSH 公钥来进行授权,所以想要在 GitHub 提交代码的第一步就是要先添加 SSH key 配置。

我们创建了github账号以后,就可以自由的clone或者下载项目了,但是要想向github上提交代码必须要进行SSH授权。

1.1 生成SSH key

Windows 系统安装了 Git Bash 应该也是带了 SSH 的。大家可以在终端(win下在 Git Bash 里)输入 ssh 如果出现以下提示证明你本机已经安装 SSH,

QQ截图20161228172547.png

紧接着输入 ssh-keygen -t rsa ,什么意思呢?就是指定 rsa 算法生成密钥,接着连续三个回车键(不需要输入密码),然后就会生成两个文件 id_rsa 和 id_rsa.pub ,而 id_rsa 是密钥,id_rsa.pub 就是公钥。这两文件默认分别在如下目录里生成:

QQ截图20161228172527.png
win系统在 /C/username/.ssh

接下来要做的是把 id_rsa.pub 的内容添加到 GitHub 上,这样你本地的 id_rsa 密钥跟 GitHub 上的 id_rsa.pub 公钥进行配对,授权成功才可以提交代码。

1.1 github 添加SSH key

第一步先在 GitHub 上的设置页面,点击最左侧 SSH and GPG keys :

QQ截图20161228175852.png

然后点击右上角的 New SSH key 按钮:

QQ截图20161228180024.png

需要做的只是在 Key 那栏把 id_rsa.pub 公钥文件里的内容复制粘贴进去就可以了(该文件使用editplus或者其他文本编辑器打开),Title 那栏不需要填写,点击 Add SSH key 按钮就ok了。

SSH key 添加成功之后,输入 ssh -T git@github.com 进行测试,如果出现以下提示证明添加成功了。

QQ截图20161228172517.png

2. 使用git提交代码

2.1 push pull 命令

Push :直译过来就是「推」的意思,什么意思呢?如果你本地代码有更新了,那么就需要把本地代码推到远程仓库,这样本地仓库跟远程仓库就可以保持同步了。
代码示例: git push origin master
意思就是把本地代码推到远程 master 分支。
Pull:直译过来就是「拉」的意思,如果别人提交代码到远程仓库,这个时候你需要把远程仓库的最新代码拉下来,然后保证两端代码的同步。
代码示例: git pull origin master
意思就是把远程最新的代码更新到本地。一般我们在 push 之前都会先 pull ,这样不容易冲突。

2.2 提交代码

添加 SSH key 成功之后,我们就有权限向 GitHub 上我们自己的项目提交代码了
Clone自己的项目 我们以我在 GitHub 上创建的 test 项目为例,执行如下命令:

git clone git@github.com:yanxinmiao/XianDu.git

这样就把 test 项目 clone 到了本地,你可以把 clone 命令理解为高级点的复制,这个时候该项目本身就已经是一个git 仓库了,不需要执行 git init 进行初始化,而且甚至都已经关联好了远程仓库,我们只需要在这个 test 目录下任意修改或者添加文件,然后进行add 、 commit ,之后就可以执行:

git push origin master

至此 , 一种简单的提交方式就完成了,当然还有很多复制的情况 ,现在还没有研究明白,待以后再续 。

2016/12/29 更新

2. HTTPS

今天使用https url 也提交成功了 。 简单记录一下流程 。

同样需要先在github上创建一个仓库,这样就有了 https url 。

然后在本地的一个文件夹执行

git clone https://github.com/yanxinmiao/Demo.git

把需要提交的代码复制到该文件夹中 ,在该文件夹中执行 git bash , 打开git 命令窗口

  • 首先要配置一下用户名和密码,这样才能知道是谁提交的代码


    QQ截图20161229145510.png
  • 接下来,执行 add 命令将文件添加进版本控制:


  • 添加进来之后,执行提交命令 ,这样就将修改提交到了本地仓库
QQ截图20161229145525.png
  • 将本地仓库内容上传到GitHub上
QQ截图20161229145532.png

这样就把本地代码提交到github上的仓库中了 。

QQ截图20161229150348.png

参考文章

1. 从0开始学习 GITHUB 系列之「向GITHUB 提交代码」

相关文章

  • 使用git 把代码提交到github上

    最近在研究如何把代码提交到github上的仓库里,在网上查了不少文章,介绍的都不是清楚,现在把自己试验成功的流程记...

  • git命令在特定场景中使用

    场景一 本地电脑有一些代码,需要使用git管理,然后需要提交到github上,然后开发 在电脑上,创建git仓库 ...

  • 用git把本地文件提交到gitHub上

    用git把本地文件提交到gitHub上: 1. gitHub账号登陆: $ git config --global...

  • 01_git、GitHub、Maven基础

    一、本地配置git,注册并将项目代码提交到GitHub GitHub是代码托管平台,也是基于git的开源分布式版本...

  • 使用git更新github上的代码

    一、clone代码 1.把大神的代码clone到本地,或者clone自己github上的代码,使用指令: git ...

  • 项目上传CocoaPods

    操作基本步骤: 一:将代码提交到GitHub上 二:设置Tag(git tag ‘1.0.0’ ) 三:更新Coc...

  • IDEA本地项目提交github

    本文介绍如何使用IDEA将新项目提交到远程仓库。 今天想用windows把学习的项目提交到github,但是git...

  • Git

    Git 问题在已经将生成的ssh key提交到github上之后,在本地使用git clone命令出现Permis...

  • google gerrit repo, git commit如何

    1.使用 git push origin HEAD:refs/for/master%wip 把代码临时提交到ger...

  • Git简单使用

    Git使用总结 Github创建项目,这个子安github上创建就OK了。本地: 本地创建分支 提交到远程仓 多人...

网友评论

本文标题:使用git 把代码提交到github上

本文链接:https://www.haomeiwen.com/subject/bzgyvttx.html