zoukankan      html  css  js  c++  java
  • 软件工程作业 第四次 了解源代码管理工具

    关键字:git、GitHub、gitee、clone、远程仓库

    作业题目: 了解源代码管理工具

    要求:

    通过搜索资料和自学,在个人博客上介绍源代码管理工具——一Github。具体要求:(a)请使用图文并茂的形式;

    (b)请加入自己的学习心得体会。

    由于之前写过这篇博客,所以现在对其整理一下作为本次的作业。

    标题:如何使用git、GitHub、gitee?

    目录

    前言

    一.git的使用

    1.注册GitHub账号

    2.下载、安装并简单使用git

    二.使用GitHub做远程仓库

    三.gitee的使用

    四.学习心得与总结

    前言:为什么要使用git?

    从一般开发者的角度来看,git有以下功能:
    1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
    2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
    3、在单机上自己创建的分支上提交代码。
    4、在单机上合并分支。
    5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
    6、生成补丁(patch),把补丁发送给主开发者。
    7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
    8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁
    从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
    1、查看邮件或者通过其它方式查看一般开发者的提交状态。
    2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
    3、向公共服务器提交结果,然后通知所有开发人员。

    一.git的使用

    1.注册GitHub账号

    打开https://github.com/注册GitHub账号,记住用户名和密码

    2.下载、安装并简单使用git

    (1)下载git。下载地址https://git-scm.com/download/win。根据自己电脑选择64位还是32位,一般都是64位的。

    (2)安装git。运行下载的exe文件进行安装,一直点击下一步就可以了。

    (3)使用git。安装好git后,打开git Bash

    (4)首先需要对配置git这个分布式版本控制系统。如图,分别输入以下代码  git config --global user.name "jiangfenli"   ,    git config --global user.email "1504209248@qq.com" 。(注意这里的"jiangfenli "改成自己在GitHub注册的用户名,"1504209248@qq.com"改成在GitHub注册时的邮箱)

    (5)怎么使用git对项目进行管理呢?举个栗子。在我 D:/test 目录下有个ikun.docx文件,内容如下

    老板觉得我的这个版本内容写得不好,需要更改,通常情况我们会直接在这个文档里面进行修改,但是为了以防老板对新版本不满意,需要最初的版本,我们就不能在原版本进行更改。这时候git就起作用了。

    第一步:直接在控制台输入  cd D:/test   ,切换到test目录下后输入git init ,然后你去打开这个test目录,你会发现多了个.git 文件(这是个隐藏文件,有的电脑是看不见的,是因为电脑设置了隐藏文件不可见。需要去设置一下才可以看见隐藏文件。具体设置可以问某度。)

    这个文件主要记录你在这个文件夹下修改文件的日志

    在控制台输入  git status

    可以看到我们的ikun.docx文件是红色的,说明文件进行了修改但是没有提交修改日志到.git (本地仓库)文件中。我们再输入git add ikun.docx 回车,接着git status ,发现ikun.docx变成绿色。

    接着输入 git commit -m"the first version"回车,接着git status,提示说没有文件需要提交,工作区很干净。

    现在来解释一下刚才的操作。实现分布式版本控制系统过程是这样的:工作区——>暂存区——>本地仓库。(只有被提交到本地仓库的文件才能查看项目每个版本的信息)

     git status是用来查看当前工作状态,假如有文件为红色,说明文件修改了,此时在工作区。git add ikun.docx 之后文件在暂存区,git commit  -m"the first version"之后文件在本地仓库并备注此版本是第一版本。

    假如老板说第一版本不好,需要修改,那怎么办呢?

    直接打开ikun.docx 修改内容并保存

    此时在控制台输入git add ikun.docx并回车,输入git commit -m"the second version"并回车

    第二版本就好了。令人窒息的是,老板跟你说:“我还是喜欢第一版本”。(抓狂.png)

    此时,别慌,我们不用对ikun.docx进行修改,只需要回退到第一版本就好了。

    控制台输入git log --pretty=oneline,查看最近提交的历史

    输入git reset --hard HEAD^就可以回退到上一个版本(也可以输入”git reset --hard 版本号“,回退到指定版本,这个版本号就是刚才查的版本前面的哈希数,不一定要输入全部哈希数,输入一部分即可)

     好了,现在已经回退到第一个版本了,点开我们的ikun.docx,发现内容就是第一个版本的内容

    既然使用     git reset --hard 版本号      可以回到任意版本,想一下,假如老板又叫你改回新版本。但是此时你使用git log --pretty=oneline 发现新版本的版本号没了,心里慌得一批

    别慌,输入git reflog查看修改历史

    又可以使用         git reset –-hard 版本号        回到新版本了。我们点开ikun.docx发现又回到了新版本

     

    下面介绍一下git 的一些基本命令收藏!!!):

    1.git --version   查看git的版本信息

    2.git config --global user.name   获取当前登录的用户

    3.git config --global user.email  获取当前登录用户的邮箱

    4.mkdir project   创建文件夹project

    5.ls -al  查看当前文件夹下所有目录

    6.cd ..  回退到上一个目录

    7.rm -r src  删除src目录

    8.mv index.html src    index.html 是我们要移动的文件, src 是目标文件夹,当然, 这样写,必须保证文件和目标文件夹在同一目录下.

    9.reset 清屏,把git bash命令窗口中的所有内容清空

    10.exit 可以直接退出窗口

    命令的快捷操作收藏!!!):

    1. 我们可以使用上下箭头来查找我们以前输入的命令。

    2.左右箭头移动光标修改命令,但是只能一个一个移动光标。Ctrl + A 则是移动光标到整条命令的起始位置,Alt + B 向左移动一个单词,Alt + F 向右移动一个单词,Ctrl + E 则是移动光标到整条命令的结束位置。

    3.touch ikun.docx 就会在当前目录下新建一个ikun.docx文件。

    二.使用GitHub做远程仓库

     字面意思,远程的一个仓库,可以存放自己的代码、文件。同时,在GitHub,用户可以十分轻易地找到海量的开源代码。GitHub可以托管各种git库,并提供一个web界面,但它与外国的SourceForgeGoogle Code或中国的coding的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。那么我们怎么去使用GitHub呢?

    首先打开之前安装的git Bash,输入ssh-keygen -t rsa -C 1504209248@qq.com 一路回车

    (把这个邮箱换成自己在GitHub的邮箱)

     由于我之前已经存在了,所以在此不演示了。

    然后去user(或者用户)文件夹下找一个.ssh文件(搜索的话会快一点找到),用记事本打开并复制里面的内容。

    之后打开https://github.com/网站,登录进去。

    点右上角

    点设置

    点ssh和GPG密钥

    由于我之前已经添加过了,所以不演示了,自己添加进去就可以了,标题可以任意,key粘贴进去。

    点加号,第一个,添加新的存储库(远程仓库)

     

    远程仓库有了,现在需要把本地仓库与远程仓库关联,这样才方便同步自己电脑的文件到GitHub。

    在git控制台输入

    git remote add origin https://github.com/jiangfenli/git.git
    注意把后面的链接替换成自己的GitHub远程仓库目录下创建的仓库,我的仓库名字是git

    添加后,origin就是你的远程仓库名字。接着输入git push -u origin master 回车,远程仓库就和本地仓库同步了。

    以后只要执行命令 git push origin master,就会把master分支的最新修改同步到GitHub。

    三.gitee的使用
    gitee是中国版的GitHub,相比于github而言,gitee有两个显著的优势:一是速度快,二是支持免费的私密项目。看下面这张图就知道了。
    下面来看一下怎么使用?其实giteeGitHub大同小异。
    第一步,先注册https://gitee.com,记住自己的密码和邮箱
    接着,新建仓库,创建

    点击右上角管理再点击左边的公钥管理

    然后出现这个页面

    你可以添加公钥

    也可以添加个人公钥。两者之间的差别就是个人公钥同时拥有推送和拉取的权限,而仓库公钥只有拉取的权限。

    添加仓库公钥的方法上一张图片里面有,这里就不讲了。个人公钥就是之前C盘文件下生成的.ssh 文件里面的内容,把它拷贝到个人公钥那里然后添加就可以了。

    下面开始屁颠屁颠的去clone远程仓库的东西了。

    控制台输入git clone git@gitee.com:jiangfenli/project.git   (黄色的内容需要替换成自己)

    克隆完成,查看自己 D:/gitee 目录下有没有远程仓库project 

    注意,克隆的时候可能会弹出窗口说需要你输入码云的账号密码,那你输入就可以了。

    我们试着克隆别人的开源项目耍耍吧。

    网上找了一个java博客系统,地址https://gitee.com/biezhi/tale

    我们先建立个分支dev,然后切换到这个分支下工作,接着开始clone网友的开源项目

     查看本地 D:/gitee 目录,好了,成功克隆下来了。

     然后就可以对克隆下来的项目“为所欲为”了。

    gitee上传文件方法:

    1.git init

    2.git remote add 仓库名 码云仓库地址

    3.git pull 仓库名 master

    4.git add . (. 表示所有的)

    5.git commit -am "此处填写上传文件描述"

    6.git push origin master

    四.学习心得与总结

    1.学习心得

      在网上搜索了好多资料,包括网友写的博客,分享的经验,才真正了解了git、GitHub、gitee的使用。按照网上教程操作的时候遇到了挺多问题,比如远程仓库连接不上等(问题详细在后一篇博客写有);后来也通过上网搜索资料解决了这些问题。虽然耗时,但是感觉学到了很多。没接触过GitHub、gitee、git之前,习惯性把代码存到自己电脑本地硬盘中,现在使用之后感觉远程仓库特别好。代码可以随时随地进行编辑,只要有一台电脑和网络,而且项目每一次更改都可以记录保存先前的版本,如果在本地电脑是不太容易实现不了这一点的。

    2.总结

      首先,git是个很好用的软件,对于我们程序猿来说,需要经常写代码改代码,多用GitHub或者gitee比较好,一个是可以帮助我们很好的分类自己项目,另一个是方便记录自己是如何一步步走向“不归路”。至于GitHub和gitee使用哪一个?因人而异,GitHub在国外,在使用的时候可能网速会相对慢一点,而gitee在国内,如果对网速有要求的话可以使用国内的gitee,当然,你有“梯子”也是可以的。GitHub拥有全球最大的代码库,如果你需要经常fork一些好的优秀的代码或者项目,GitHub是个不错的选择。总之各有各的优势。还有一点,建议尽量在命令行下工作,少在图形界面下工作。点击图标谁不会?多敲代码有助于增加对软件运行原理的熟悉度,最重要的一点,酷!!!!

  • 相关阅读:
    display
    盒子模型
    css样式
    修改页面标题前的图标
    form表单
    html中列表
    代码书写格式
    dw中的超链接
    硬盘的访问,程序重定位和加载
    Bochs调试指令
  • 原文地址:https://www.cnblogs.com/jiangfenli/p/10745164.html
Copyright © 2011-2022 走看看