通过 Git 将代码提交到 GitHub(上)

1 前言

在「利用 SSH 完成 Git 与 GitHub 的绑定」一文中,我们完成了本地 Git 与远程 GitHub 的绑定,这意味着我们已经可以通过 Git 向 GitHub 提交代码啦!但是在进行演示之前,我们需要先了解两个命令,也是我们在将来需要经常用到的两个命令,分别为pushpull.

  • push:该单词直译过来就是“推”的意思,如果我们本地的代码有了更新,为了保持本地与远程的代码同步,我们就需要把本地的代码推到远程的仓库,代码示例:
git push origin master
  • pull:该单词直译过来就是“拉”的意思,如果我们远程仓库的代码有了更新,同样为了保持本地与远程的代码同步,我们就需要把远程的代码拉到本地,代码示例:
git pull origin master

此外,在之前我们讲到过pull request,在这里,估计大家就能更好的理解了,它表示:如果我们fork了别人的项目(或者说代码),并对其进行了修改,想要把我们的代码合并到原始项目(或者说原始代码)中,我们就需要提交一个pull request,让原作者把我们的代码拉到 ta 的项目中,至少对于 ta 来说,我们都是属于远程端的。

一般情况下,我们在push操作之前都会先进行pull操作,这样不容易造成冲突。

2 提交代码

对于向远处仓库(GitHub)提交代码,我们可以细分为两种情况:

  • 第一种:本地没有 Git 仓库,这时我们就可以直接将远程仓库clone到本地。通过clone命令创建的本地仓库,其本身就是一个 Git 仓库了,不用我们再进行init初始化操作啦,而且自动关联远程仓库。我们只需要在这个仓库进行修改或者添加等操作,然后commit即可。

接下来,以博主的 GitHub 账号中的mybatis-tutorial项目为例,进行演示。首先,进入 GitHub 个人主页:

如上图所示,点击mybatis-tutorial项目:

如上图所示,进入mybatis-tutorial项目后,点击Clone or download,复制上图所示的地址链接。然后,进入我们准备存储 Git 仓库的目录,例如下面我们新建的GitRepo目录, 从此目录进入 Git Bash:

接下来,输入git clone https://github.com/guobinhit/mybatis-tutorial.git命令,其中clone后面所接的链接为我们刚刚复制的远程仓库的地址:

如上图所示,我们已经把远程的mybatis-tutorial仓库clone到本地啦!下面,我们看看clone到本地的仓库内容与远程仓库的内容,是否完全一致:

如上图所示,显示我们已经把远程仓库mybatis-tutorial的内容都clone到本地啦!接下来,为了方便演示,我们直接把之前重构的「史上最简单的 MyBatis 教程」里面的mybatis-demo项目的代码复制过来:

如上图所示,我们已经把mybatis-demo项目里面的主要内容src目录和web目录复制过来啦!接下来,从此目录进入 Git Bash,然后输入git status命令查看仓库状态:

如上图所示,mybatis-tutorial已经是一个 Git 仓库了,而且在输入git status命令后显示有两个文件未被追踪,也就是我们刚刚复制过来的两个文件没有提交。通过「Git 初体验及其常用命令介绍」,我们已经知道了在真正提交代码之前,需要先进行git add操作:

如上图所示,我们已经将src目录addcommitmybatis-tutorial仓库啦!接下来,我们将web目录提交到仓库,然后输入git log命令查看仓库日志:

再输入git status命令查看仓库状态:

如上图所示,我们已经将mybatis-tutorial仓库里面新添加的两个目录都提交啦!下面,我们将本地仓库的内容push到远程仓库,输入git push origin master命令:

如上图所示,在第一次向远程仓库提交代码的时候,需要输入账号及密码进行验证,验证成功后,显示如下结果:

然后,刷新 GitHub 中mybatis-tutorial仓库:

如上图所示,我们已经将项目(仓库)中新添加的内容提交到了远程仓库。接下来,返回 GitHub 个人主页:

观察上图,我们会发现一个现象,那就是:mybatis-tutorial仓库的概要中新增了一个Java语言的标记。对于这个仓库语言的标记,其来源有两个,一是在我们创建仓库时就指定语言;二是在我们提交或者新建代码后由 GitHub 自动识别该语言。

最后,附上博主的 GitHub 账号,欢迎大家 Follow维C果糖

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术博文

linux 查看系统信息命令(比较全)

linux 查看系统信息命令是linux初学者必备的基础知识, 这些命令也非常有用, 因为进入linux第一件事就可能是首先查看系统信息, 因此必要的系统的学习...

43070
来自专栏木头编程 - moTzxx

PHP学习(wampServer+PhpStorm+XDebug)——环境相关配置参考(上)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

16240
来自专栏Python爬虫与数据挖掘

如何在vSphere Client上给虚拟机扩容

9、创建磁盘的大小,这里可以自定义,按照自己的需要来进行添加。在这里,小编以50GB为例,设置完之后选择“下一步”。

10410
来自专栏Python爬虫与数据挖掘

如何在vSphere Client上给虚拟机扩容

9、创建磁盘的大小,这里可以自定义,按照自己的需要来进行添加。在这里,小编以50GB为例,设置完之后选择“下一步”。

11240
来自专栏木头编程 - moTzxx

CentOS下(rsync+inotify)监听式实现服务器间的备份实时同步

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

43810
来自专栏沈唁志

怎么使用 Git 和 Github 向开源项目提交 Pull Request

渣渣橘又跟我提了一下毒鸡汤,看了一下之前学的 python 脚本还能用,然后在 Github 上看到了一个爬虫集合的项目,收集各种爬虫

16630
来自专栏云计算教程系列

在CVM上安装Tomcat

Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Serv...

22940
来自专栏Python爬虫与数据挖掘

安装完Python之后,如何设置Python环境变量

人生苦短,我用Python。最近有许多加群的萌新在咨询Python安装的事宜,Python安装问题不大,可以戳这篇文章:。本以为安装Python之后就可...

18820
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Nginx和Php-fpm安全地托管多个网站

众所周知,LEMP堆栈(Linux,nginx,MySQL,PHP)为运行PHP站点提供了无与伦比的速度和可靠性。但是,这种流行的堆栈的其他特性,如安全性和隔离...

24920
来自专栏云计算教程系列

如何在Ubuntu 16.04中安装Linux,Nginx,MySQL,PHP(LNMP堆栈)

LNMP软件堆栈是一组可用于为动态网页和Web应用程序提供服务的软件。它是一个描述带有Nginx Web服务器的Linux操作系统的首字母缩写词。其后端数据存储...

21010

扫码关注云+社区

领取腾讯云代金券