美文网首页
Git——向GitHub提交代码

Git——向GitHub提交代码

作者: 四喜汤圆 | 来源:发表于2019-03-26 20:54 被阅读0次

    一、前言

    有了本地仓库后,我们已经很熟练地在自家仓库里addcommit了,但是把东西放在本地,还是不安全呀,万一哪天机器崩溃了呢,所以,要将仓库中的内容上传到 GitHub 再次备份一下。下面就介绍,如何向 GitHub 提交代码。

    二、向 GitHub 提交代码

    1. 获得向 GitHub 提交代码的权限(配置公钥)

    我们是不能向 GitHub 随意提交代码的,否则 GitHub 早就乱套了。要想向 GitHub 提交代码是需要某种授权的—— GitHub 是基于 SSH 授权的。

    (1)安装 SSH
    Windows 系统安装了 Git Bash 后是带了 SSH 的,在 Git Bash 中输入 ssh,若出现如下提示,说明安装成功。

    Mac 系统:

    (2)生成密钥
    Windows:在 Git Bash 中输入命令ssh-keygen -t rsa,使用 rsa 算法生成密钥。id_rsa 是密钥,id_rsa.pub 是公钥,文件存储在默认目录下,如下图所示。

    Mac:首先使用以下命令在本地生成公钥和私钥

    ssh--keygen -t rsa// 一种算法
    

    然后将公钥复制到剪贴板备用

    cat ~/.ssh/id_rsa.pub | pbcopy
    

    (3)在 GitHub 上添加 SSH Key
    把 id_rsa.pub 中的内容复制到 GitHub 上的 Add SSH Keys 文本框中。

    2. 配置用户名、用户邮箱

    git 会根据这个配置确定代码提交人

    git config --global user.name "baomeili"
    git config --global user.email "XX@qq.com"
    

    3. 将本地仓库和远程仓库关联

    (1)clone 的方式
    若通过 clone 的方式生成本地仓库,git clone git@github.com/SiXiWanZi/Test.git ,那么生成的本地仓库已经和远程仓库关联好了。

    (2)init 本地文件夹的方式

    • 添加远程仓库

    若通过 init 本地文件夹的方式生成本地仓库,执行过 commit 操作后,本地仓库默认创建 master 分支,但尚未和远程仓库关联。通过以下指令为本地仓库添加一个远程仓库,至此实现本地仓库与远程仓库的关联。

    $ git remote add origin git@github.com:SiXiWanZi/Test.git
    

    其中 origin 为给远程仓库起的别名。

    • 删除远程仓库
    $ git remote rm <repName>
    

    例如,git remote rm myRep

    • 修改远程仓库
    $ git remote rename <oldName> <newName>
    

    例如,git remote rename oldRep newRep

    • 查看远程仓库列表
    $ git remote -v
    

    4. 将本地修改推送到 GitHub

    git push 的一般形式是

    $ git push <远程主机名> <本地分支名>:<远程分支名> 
    

    几种常见的用法有:

    • git push origin master

    该形式中远程分支名被省略,表示将本地分支推送到与之存在追踪关系的远程分支(通常二者同名),如果该远程分支不存在,则会被创建。把本地的 master 分支内容推送到远程的 master 分支,还会把本地的 master 分支和远程的 master 关联起来。

    • git push origin :refs/for/master

    该形式中本地分支名被省略,表示推送一个空的本地分支到远程分支,删除指定的远程分支

    • git push origin

    如果当前分支与远程分支存在追踪关系,则本地分支和远程都可省略。

    • git push

    如果当前分支只有一个远程分支,那么主机名都可省略。

    • git push -u origin master

    第一次推送 master 分支时,加上 -u 参数,表示将本地的 master 分支推送到 origin 主机,同时指定 origin 为默认主机,之后就可以不加任何参数使用git push了,表达的意思和git push origin master相同。把本地的 master 分支内容推送到远程的 master 分支,还会把本地的 master 分支和远程的 master 关联起来。

    三、总结

    本文是对stromzhang从0开始学习GitHub系列电子书的学习笔记,感谢stormzhang。经过上述操作,起码文件是丢不了了,下面继续学习 Git 的其他操作。

    参考文献

    Git push 常见用法

    相关文章

      网友评论

          本文标题:Git——向GitHub提交代码

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