学习使用GitHub/Git

本学期开了现代软件工程这门课程,在本课程的大作业中,需要小组协作完成一个项目的开发,这就需要用到Github。
我在之前只是简单听说过GitHub,没有实际的使用过,只知道是用来管理代码的,对于管理的机制、具体的管理的操作并不了解。 通过完成本次作业,我知道了Git管理的内部机制,并掌握了一些基本的git操作命令。

Git是代码的分布式版本控制系统,适用于项目开发,尤其是小组多个人一起合作开发项目。

在github上创建远程库,每个小组成员的终端是各自的本地库。

对源代码的增删改都属于修改,实际上,Git就是管理这种修改。小组成员在自己的本地库使用分支进行项目的修改,可以通过git同步到github远程仓库上;当远程仓库有了更新,其他小组成员可以clone下来最新版本的代码。通过这两方面,保持远程仓库和本地仓库同步一致,从而实现小组成员分布式协作开发。

在本文中,我主要分享一下git的基本命令操作。包括git clone/add/commit/push/status/diff/log/fetch/merge/pull

git clone

使用该命令,将远程仓库克隆到本地仓库。
  1. 在GitHub的官方网站上注册一个账号Guosiying,并登录。点击“+”号,选择“New repository”创建一个新的远程仓库。
    这里写图片描述

仓库名设为“HelloWorld”,并选择初始化时创建一个README文件。
这里写图片描述

在仓库信息页,点击“Clone or download”,将网址“https://github.com/Guosiying/HelloWorld.git”粘贴下来,这会在clone时用。
这里写图片描述

  1. 在本机E盘新建一个文件夹Test01_GitHub,在该文件夹内空白处,右击选择“Git Base Here”,进入命令行界面。
    这里写图片描述

  2. 输入git clone https://github.com/Guosiying/HelloWorld.git命令,将远程仓库克隆到本机,本机中出现了仓库HelloWorld文件夹,此为本地仓库,在文件夹中有README.md文件。
    这里写图片描述

git add/git commit/git push

先后使用这三个命令,分三步将本地仓库的内容同步到远程仓库。

  • git add:将修改内容从工作区添加到暂存区

  • git commit:将暂存区中的所有内容提交到当前的分支

  • git push:将分支的所有内容推送到远程仓库

    1. 修改本地仓库内容

在本机创建一个Hello.java文件,添加到 上步已经克隆到本机的仓库HelloWorld中(E:/Test01_GitHub/HelloWorld)。
这里写图片描述

Hello.java文件中的内容:
这里写图片描述

  1. git add

在命令行界面,先进入本机HelloWorld仓库的目录,输入git add hello.java命令,将该文件从工作区添加到暂存区。
这里写图片描述

  1. git commit

在命令行界面输入git commit -m “wrote a Hello file命令,把暂存区中的所有内容提交到当前分支(master)中。
这里写图片描述

注意:如果还没有配置本机的信息,在commit时,会提示配置你的邮箱地址和名字信息。
这里写图片描述

这里写图片描述

配置好信息后,再commit一次,这次就成功了。
这里写图片描述

  1. git push

在命令行界面输入git push -u origin master命令,将向远程库推送master分支的所有内容。

注:在第一次push时,会弹出窗口,让你输入GitHub的注册邮箱和密码来确定身份。
这里写图片描述

经过这三步,可以在Github上看到本地仓库的修改(添加了Hello.java文件)已经被push上去了,此时本地仓库和远程仓库是一致同步的。
这里写图片描述

Hello.java文件中的内容
这里写图片描述

git status/git diff/git log

这三个命令可以让我们时刻掌握仓库的修改情况。

  • git status:查看当前仓库的状态(有没有进行了修改)

  • git diff:查看具体修改了什么

  • git log:查看修改提交的日志

    1. git status

在本机修改一下Hello.java文件(添加一条输出语句)。
这里写图片描述

在命令行界面输入git status命令,查看当前仓库的状态。可以看到Hello.java文件被modified了,但是还没有被commit。
这里写图片描述

  1. git diff

在命令行界面输入git diff命令,查看具体的修改内容。可以看到具体修改了文件哪一行。
这里写图片描述

再输入git add命令和git commit命令进行提交。
这里写图片描述

commit后,在git status一下。可以看到工作目录是干净的了。

再输入git push,将本次修改push到远程仓库中。
这里写图片描述

github上已经更新,此时本机仓库和远程仓库达到一致状态。
这里写图片描述

  1. git log

在命令行界面输入git log命令,可以查看截止到目前commit的日志信息。
这里写图片描述

git fetch和git merge 与 git pull

git fetch和git merge 与git pull都可以实现将远程仓库的最新版本同步到本地仓库。

git fetch和git merge:将最新版本从远程仓库拉取下来,不会自动merge到本地分支。

git pull:将最新版本从远程仓库拉取下来,并自动与本地分支merge。

前者将更新同步操作分为了两小步,操作了第一小步后,可以查看一下具体做了什么修改,然后再决定是否和本地分支合并,不易产生冲突。而后者是两小步一起完成,更方便了操作,但是有可能在没了解具体修改了什么内容就合并到了本地分支,若是产生了冲突,需要手动进行解决。

  1. git fetch和git merge

在GitHub远程仓库中修改Hello.java文件(添加一条输入语句)。
这里写图片描述

在命令行界面输入git fetch命令。
这里写图片描述

此时git status和git diff一下,可以查看一下 远程仓库的内容和本地仓库对比做了哪些修改。
这里写图片描述
这里写图片描述

然后输入git merge命令。
这里写图片描述

查看一下本地仓库文件,本地文件完成更新。
这里写图片描述

  1. git pull

在GitHub上再次修改Hello.java文件(再添加一条输出语句)。
这里写图片描述

在命令行界面输入git pull命令。
这里写图片描述

在本地可以看到已更新。
这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值