一、Git 命令的理解和使用

  • Git是一个快速,可扩展的分布式版本控制系统,具有异常丰富的命令集,可提供高级操作和对内部的完全访问
  • 分布式:Git版本控制系统是一个分布式的系统,是用来保存工程源代码历史状态的命令行工具。

  • 保存点:Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目的状态;可以在该保存点将多人提交的源码合并, 也可以回退到某一个保存点上。

  • Git的分支和合并:分支模型是Git最显著的特点,因为这改变了开发者的开发模式,SVN等版本控制工具将每个分支都要放在不同的目录中,Git可以在同一个目录中切换不同的分支。

  • 分支灵活性:用户可以随时创建、合并、删除分支,多人实现不同的功能,可以创建多个分支进行开发,之后进行分支合并,这种方式使开发变得快速、简单、安全。

  • 分支即时性:创建和切换分支几乎是同时进行的,用户可以上传一部分分支,另外一部分分支可以隐藏在本地,不必将所有的分支都上传到GitHub中去。

Git常用指令总结:

  git init

   在本地新建一个repo,进入一个项目目录,执行gitinit,会初始化一个repo,并在当前文件夹下创建一个.git文件夹.

  git clone

  获取一个url对应的远程Git repo, 创建一个local copy. 一般的格式是git clone [url].

  git status

  查询repo的状态. git status -s: -s表示short, -s的输出标记会有两列,第一列是对staging区域而言,第二列是对working目录而言.

  git add   

    命令可将该文件添加到缓存

  git commit

    使用 git add 命令将想要快照的内容写入缓存区, 而执行 git commit 将缓存区内容添加到仓库中。

  git diff

    执行 git diff 来查看执行 git status 的结果的详细信息。

  git push

    是将本地库中的最新信息发送给远程库;

   git fetch

    是从远程获取最新版本到本地,不会自动merge

  git pull

    是从远程获取最新版本到本地,并自动merge;  git pull 相当于 git fetch + git merge

  git branch (branchname)  

    用来创建分支

   git checkout (branchname)

    切换分支   

  git branch -d (branchname)  

    删除分支

  git merge

    是用于从指定的commit(s)合并到当前分支,用来合并两个分支;  $ git merge -b // 指将 b 分支合并到当前分支

二、记录进度情况,以半天一个时间单位,检测代码提交情况,燃尽图

  燃尽图如下所示。后面可能突然很陡峭,是因为我们对git的使用还不熟悉。有一个issue昨天已经完成了,但是忘记关闭了,今天下午才关闭。做出来燃尽图之后才知道,不及时关闭issue会对燃尽图的形成产生影响。

三、多人协同开发总结和反思

  • 这次我们助教四人的开发,可以说在使用git的上面是真的很不顺利。就学习如何使用git就花了很长时间。我提前几天就把学习git的视频看完了。当时跟着视频上一起学着老师做的时候并不觉得git很难。感觉挺简单的。但是等我们做团队项目提交的时候,就遇到了很多问题。最突出的一个问题就是刚开始一直merge不到主分支上,然后出现了冲突,还不会解决。五花八门的冲突,真的是让我们百度了又百度。但是还是解决不了。只有重新克隆,再重新创建分支。就这样,整个项目的分支就多了起来。到最后每个人都有好几条分支。
  • 这次运用git进行团队开发,可以说是一次很好的锻炼自己的机会。虽然使用git过程中间那个遇到了一次又一次的麻烦,但是在学习使用git的过程中,经过很多次的尝试,最终还是学会了 团队开发该如何去使用git,对git有了较为深刻的理解。但是自己对git的使用还远远不够。以后我也会加强对git的使用和练习,那些命令光靠记忆是记不住的。

熟练掌握GitHub及Git的使用方法的更多相关文章

  1. 助教培训第四次作业——熟练掌握GitHub及Git的使用方法

    助教培训第四次作业——熟练掌握GitHub及Git的使用方法 1.Git 命令的理解和使用 常用的Git命令可以查看官方文档,官方文档的网址:https://git-scm.com/docs .虽然是 ...

  2. 助教培训总结——熟练掌握GitHub及Git的使用方法

    一.Git 命令的理解和使用 1.使用git前需要建立一个本地仓库,用Git GUI Here的话就可以直接选择Create New Repository.Git Bash Here输入 命令git ...

  3. Git和Github的应用与命令方法总结

    title: Git和Github的应用与命令方法总结 date: 2016-07-11 14:03:09 tags: git/github [本文摘抄自微信公众平台:AndroidDeveloper ...

  4. AndroidStudio中利用git下载github或者git.oschina的代码时报错:repository test has failed解决方法

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 微博:http://weibo.com/mcxiaobing AndroidS ...

  5. 在Linux下搭建Git服务器的方法是什么样?

    第一步 安装git:可以通过命令的方式快速安装,不同的linux的安装方法可能不一样,我的是采用的yum方法.ubuntu可以用apt-get命令.sudo yum install git 第二步 添 ...

  6. git命令使用方法

    git安装包 http://c35.yunpan.360.cn/my/?sid=#%2F%E5%AE%89%E8%A3%85%E5%8C%85%2FGit%E5%AE%89%E8%A3%85%2F g ...

  7. android studio下gradle与Git错误解决方法

    Error: Gradle: Execution failed for task ':mytask' > A problem occurred starting process 'command ...

  8. GIT的使用方法

    GIT的使用方法 1.电脑首先安装GIT, 2.在官网注册GitHub账号. 一,使用git在控制台进行本地操作 1.打开GitBash 2.填写用户名和邮箱作为标识分别执行以下命令: git/ co ...

  9. 简易搭建git仓库、关联远程和本地仓库方法。克隆仓库方法。同一台电脑上创建两个git ssh key方法。

    一,在github上建仓库 react-js-antd-demo: 二:将远程仓库与本地仓库关联 git remote add origin git@github.com:begin256/react ...

随机推荐

  1. concurrent (一)concurrent

    参考文档: 跳跃表原理分析:https://blog.csdn.net/a1259109679/article/details/46442895 一.阻塞队列 ArrayBlockingQueue : ...

  2. Rattle

    Rattle使用RGtk2 包提供的Gnome图形用户界面,可以在WINDOWS,MAC OS/X,Linux等多个系统中使用. Rattle基于大量的R包:RGtk2, pmml, colorspa ...

  3. Java四则运算——图形化界面

    一.前提 (1)作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213 (2)GitHub地址:https://github ...

  4. Spring boot2X集成zuul与consul实现负载均衡和反向代理

    zuul 是netflix开源的一个API Gateway 服务器 所有从设备或网站来的请求都会经过Zuul到达后端的Netflix应用程序. 作为一个边界性质的应用程序,Zuul提供了动态路由.监控 ...

  5. [JS]截取字符,中英文都可以

    //截取字符,中英文都可以,hasDot=true 返回值的最后还可以添加3个点 function subString(str, len, hasDot) { var newLength = 0; v ...

  6. 【转】【linux】查看文件夹大小

    du的用法 du命令用来查看目录或文件所占用磁盘空间的大小.常用选项组合为:du -sh du常用的选项: -h:以人类可读的方式显示 -a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘 ...

  7. golang输出双精度浮点例子(Printf)

    1 package main import "fmt" func main() { var sum int = 17 var count int = 5 var mean floa ...

  8. linux下僵尸进程的发现与处理

    一.概述 僵尸进程是怎么产生的 当子进程退出时,父进程没有调用wait函数或者waitpid()函数等待子进程结束,又没有显式忽略SIGCHLD信号,那么它将一直保持在僵尸状态,如果这时父进程结束了, ...

  9. Python实现Newton和lagrange插值

    一.介绍Newton和lagrange插值:给出一组数据进行Newton和lagrange插值,同时将结果用plot呈现出来1.首先是Lagrange插值:根据插值的方法,先对每次的结果求积,在对结果 ...

  10. 阿里 P8 高级架构师吐血总结的 《Java 核心知识整理&面试.pdf》| 免费分享

    最近在网上发现一份非常棒的 PDF 资料,据说是阿里 P8 级高级架构师吐血总结的, 其中内容覆盖很广,包括 Java 核心基础.Java 多线程.高并发.Spring.微服务.Netty 与 RPC ...