查看: 286|回复: 0
打印 上一主题 下一主题

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

[复制链接]

9万

主题

9万

帖子

28万

积分

管理员

管理员

Rank: 9Rank: 9Rank: 9

积分
289121
跳转到指定楼层
楼主
发表于 2017-10-2 07:25:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式






读完本文大要需要 5 分钟。
相信大师都已经对 Git 的根基操纵熟悉了,可是这篇文章只先容了对当地 Git 仓库的根基操纵,明天我就来先容下若何跟远程仓库一路合作,教你们向 GitHub 上提交你们的第一行代码!
1SSH你具有了一个 GitHub 账号以后,便可以自在的 clone 大概下载其他项目,也可以建立自己的项目,可是你没法提交接码。仔细想想也晓得,必定不成能随意就能提交接码的,假如随意可以提交接码,那末 GitHub 上的项目岂稳定了套了,所以提交接码之前一定是需要某种授权的,而 GitHub 上一般都是基于 SSH 授权的。
那末什么是 SSH 呢?
简单点说,SSH是一种收集协议,用于计较机之间的加密登录。今朝是每一台 linux 电脑的标准设置。而大大都 Git 办事器城市挑选利用 SSH 公钥来停止授权,所以想要在 GitHub 提交接码的第一步就是要先增加 SSH key 设置。
2天生SSH keyLinux 与 Mac 都是默许安装了 SSH ,而 Windows 系统安装了 Git Bash 应当也是带了 SSH 的。大师可以在终端(win下在 Git Bash 里)输入 ssh假如出现以下提醒证实你本机已经安装 SSH, 否则请搜索自行安装下。





紧接着输入 ssh-keygen -t rsa ,什么意义呢?就是指定 rsa 算法天生密钥,接着持续三个回车键(不需要输入密码),然后就会天生两个文件 id_rsa 和 id_rsa.pub ,而 id_rsa 是密钥,id_rsa.pub 就是公钥。这两文件默许别离在以下目录里天生:
Linux/Mac 系统 在 ~/.ssh 下,win系统在 /c/Documents and Settings/username/.ssh 下,都是隐藏文件,相信你们有法子检察的。
接下来要做的是把 id_rsa.pub 的内容增加到 GitHub 上,这样你当地的 id_rsa 密钥跟 GitHub 上的 id_rsa.pub 公钥停止配对,授权成功才可以提交接码。
3GitHub 上增加 SSH key第一步先在 GitHub 上的设备页面,点击最左侧 SSH and GPG keys





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





需要做的只是在 Key 那栏把 id_rsa.pub 公钥文件里的内容复制粘贴进去便可以了(上述示例为了平安粘贴的公钥是无效的),Title 那栏不需要填写,点击 Add SSH key 按钮就ok了。
这里提醒下,怎样检察 id_rsa.pub 文件的内容?
Linux/Mac 用户履行以下号令:
cd ~/.ssh
cat id_rsa.pub
Windows用户,设备显现隐藏文件,可以利用 EditPlus 大概 Sublime 翻开复制就行了。
SSH key 增加成功以后,输入 ssh -T git@github.com 停止测试,假如出现以下提醒证实增加成功了。





4Push & Pull在提交接码之前我们先方法会两个号令,也是上次的文章没有先容的,由于这两个号令需要跟远程仓库配合。
Push :直译过来就是「推」的意义,什么意义呢?假如你当地代码有更新了,那末就需要把当地代码推到远程仓库,这样当地仓库跟远程仓库便可以连结同步了。
代码示例: git push origin master
意义就是把当地代码推到远程 master 分支。
Pull:直译过来就是「拉」的意义,假如他人提交接码到远程仓库,这个时辰你需要把远程仓库的最新代码拉下来,然后保证两头代码的同步。
代码示例: git pull origin master
意义就是把远程最新的代码更新到当地。一般我们在 push 之前城市先 pull ,这样不轻易抵触。
5提交接码增加 SSH key 成功以后,我们就有权限向 GitHub 上我们自己的项目提交接码了,而提交接码有两种方式:
  • Clone自己的项目
    我们以我在 GitHub 上建立的 test 项目为例,履行以下号令:
    git clone git@github.com:stormzhang/test.git
    这样就把 test 项目 clone 到了当地,你可以把 clone 号令了解为高级点的复制,这个时辰该项目自己就已经是一个git 仓库了,不需要履行 git init 停止初始化,而且甚至都已经关联好了远程仓库,我们只需要在这个 test 目录下肆意点窜大概增加文件,然落后行 commit ,以后便可以履行:
    git push origin master
    停止代码提交,这类是最简双方便的一种方式。
    至于怎样获得项目标仓库地址呢?以下图:





  • 关联当地已有项目
    假如我们当地已经有一个完整的 git 仓库,而且已经停止了很屡次 commit ,这个时辰第一种方式就不合适了。
    假定我们当地有个 test2 的项目,我们需要的是在 GitHub 上建一个 test 的项目,然后把当地 test2 上的一切代码 commit 记录提交到 GitHub 上的 test 项目。
    第一步就是在 GitHub 上建一个 test 项目,这个想必大师城市了,就不用多讲了。
    第二步把当地 test2 项目与 GitHub 上的 test 项目停止关联,切换到 test2 目录,履行以下号令:
    git remote add origin git@github.com:stormzhang/test.git
    什么意义呢?就是增加一个远程仓库,他的地址是 git@github.com:stormzhang/test.git ,而 origin 是给这个项目标远程仓库起的名字,是的,名字你可以随意取,只不外大师公认的只要一个远程仓库时名字就是 origin ,为什么要给远程仓库取名字?由于我们能够一个项目有多个远程仓库?比如 GitHub 一个,比如公司一个,这样的话提交到分歧的远程仓库就需要指定分歧的仓库名字了。
    检察我们当前项目有哪些远程仓库可以履行以下号令:
    git remote -v
    接下来,我们当地的仓库便可以向远程仓库停止代码提交了:
    git push origin master
    就是默许向 GitHub 上的 test 目录提交了代码,而这个代码是在 master 分支。固然你可以提交到指定的分支,这个以后的文章再具体讲授。
    对了,友谊提醒,在提交接码之前先要设备下自己的用户名与邮箱,这些信息会出现在一切的 commit 记录里,履行以下代码便可以设备:
    git config —global user.name "stormzhang"
    git config —global user.email "stormzhang.dev@gmail.com"
    6总结经过本文的先容,终究大师可以成功的向 GitHub 提交接码了,可是相信大师还有很多疑问,比如关于分支的了解与利用,比如 git 的其他一些有用的设置,比如怎样向一些开源项目进献代码,倡议 Pull Request 等,以后的系列文章会逐一停止先容,敬请期待。
    文章作者:stormzhang
  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|IT视频教程资源网

    GMT+8, 2024-11-21 23:02 , Processed in 1.039992 second(s), 23 queries .

    快速回复 返回顶部 返回列表

    客服
    热线

    微信
    7*24小时微信 客服服务

    扫码添
    加微信

    添加客服微信获取更多

    关注
    公众号

    关注微信公众号