学习使用GitHub/Git

来源:互联网 发布:什么软件卖二手手机 编辑:程序博客网 时间:2024/06/18 11:25

本学期开了现代软件工程这门课程,在本课程的大作业中,需要小组协作完成一个项目的开发,这就需要用到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命令。
这里写图片描述

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

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 玩游戏时电脑烫怎么办 qq邮箱独立密码忘记了怎么办 qq邮箱中转站容量不足怎么办 qq邮箱忘记密码了怎么办 qq邮箱超大附件过期怎么办 忘记qq邮箱独立密码怎么办 网易邮箱账号忘了怎么办 微信登录密码忘了怎么办 微信太久没登录登录不上怎么办 邮箱独立密码忘记了怎么办 苹果设置id没有邮箱怎么办 苹果手机设置id没有邮箱怎么办 邮箱的附件过期了怎么办 邮箱里的附件过期了怎么办 邮箱中附件过期了怎么办 扣扣邮箱附件过期怎么办 公司网页版邮箱进不去了怎么办 农行客户端密码忘记了怎么办 中国银行客户端密码忘记了怎么办 建行客户端登录密码忘记了怎么办 中国移动客户端密码忘记了怎么办 再歪一点授权码绑定怎么办 网易邮箱号忘了怎么办 忘记支付宝账号和密码怎么办 支付宝账号密码忘了怎么办 发邮箱文件超2g怎么办 报考计算机二级邮箱不存在怎么办 苹果邮箱登录要imap密码怎么办 注销微信支付后怎么办 手机卡注销后支付宝怎么办 12306手机邮箱都换了怎么办 网易手机邮箱手机换了怎么办 崩坏3号被盗了怎么办 qq账号被永久冻结了怎么办 淘宝账号被永久冻结了怎么办 qq账号被永久冻结怎么办 多多理财账号冻结了怎么办 苹果id安全问题忘记了怎么办 网易邮箱帐号忘了怎么办 网易邮箱密码忘记了怎么办 网易邮箱密码忘了怎么办