Git入门(二)——没有版本控制意识的程序员不是一个好的程序员

本篇所谈的内容均是客户端Git的使用,以windows平台为例。
下载地址:
https://windows.github.com/
https://mac.github.com/
安装完成后会有一个GitHub和Git Shell。GitHub是图形界面模式,Git Shell是命令行模式
三、创建仓库以及文件的简单操作

  1. 创建仓库

这里写图片描述
当点击"Create Repository"之后可能会报"An error occurred while creating the repository.You might need to open a shell and debug the state of this repo.“的错误,如下:
这里写图片描述
我在Stack Overflow上看到的相似问题是要delete调.git的文件夹,但是我尝试了没有解决,不过奇怪的是,虽然报错了,但是依旧还是创建了该Repository。因此,你可以通过这种方法处理:直接忽略掉"Failed to …”,切换到Add(可能需要重启Git才能进行Add),然后Browse选中相应的Repository即可。
这里写图片描述
添加成功后如下:
这里写图片描述
几个选项的说明:

  • Add:本地已经有项目了,输入该项目的路径。
  • Create:创建一个项目并存放在指定路径
  • Clone:将GitHub上的项目下载到本地
  1. 关于添加项目(Add)再介绍

    找到存放该仓库的文件夹(可以看到Github的仓库里都有.git 文件夹和配置文件),然后将项目复制到该文件夹下,就会在GitHub客户端出该项目。可以选择自己的编译器来编辑该项目,只要没被commit成一个版本就可以一直编辑。
    例如将c语言文件写在创建的Repository里,然再利用C语言的IDE来进行编辑调试。
    这里写图片描述
    这里写图片描述
    这里写图片描述

  2. 编辑项目


这里写图片描述
可以像上面那样用IDE编辑也可以直接双击打开后编辑

  1. Commit

这里写图片描述

  • 勾选框是用来选择需要commit的文件,选中的文件的修改会被做到下一个版本中。如下:
    这里写图片描述
  • 蓝色为需要commit的部分,选中的代码部分的修改会被做到下一个版本中。如下:
    这里写图片描述
  1. 发布与撤销

到上述commit为止,项目其实还并没有同步到Github上。进入到如下界面:
这里写图片描述

  • Publish:进行项目发布
    这里写图片描述
    发布之后就阔以在Github平台上看到Git刚发布的项目了,如下:
    这里写图片描述
  • Undo most recent commit:撤销还没有发布的版本。由于我刚才已经发布了,所以此处按钮变灰了。
    这里写图片描述
    -Revert:撤销已经发布的版本。

四、分支与合并

  1. 分支的实现原理

每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。分为如下几种情况:
(1) 只有一个主分支(master分支):master指针移动
这里写图片描述
HEAD指针严格来说不是指向提交,而是指向master,master才是指向提交的。HEAD指向的就是当前分支。一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点,每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长。
(2) 创建新的分支(Master指针不变,新指针移动)
这里写图片描述
假设创建了一个idea新分支,Git会新建一个idea指针,跟master指针指向同一个版本,并不是拷贝历史线。同时,再把HEAD指向idea,就表示当前分支在idea上。不过,从现在开始,对工作区的修改和提交就是针对idea分支了,比如新提交一次后,idea指针往前移动一步,而master指针不变。
这里写图片描述
你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。开发新代码又不想污染主分支(Master)这时候就需要创建分支。Master上的代码是随时可以放到服务器上运行的,所以测试性的代码不能放在其上。

  1. 创建、切换、发布、删除分支

理论讲了那么多,现在来看看实际的操作。(PS:前几天没网,一直拖到了今天才写的)
(1) 创建分支
选择一个主干然后创建分支。
这里写图片描述
(2) 发布分支
这里写图片描述
发布之后可以看到Github上有两个分支
这里写图片描述
(3) 删除分支
这里写图片描述
这里写图片描述
这段英文提示很简单,下一步的操作我就不做说明了。同样的,删除也可以在远端GitHub网站上实现。
(4) 同步操作
这里写图片描述
这里可以将Github的内容同步到本地。

  1. 合并分支

真正在服务器上运行的是master分支,所以创建的分支还是得合并到master分支上。
假如我们在dev上的工作完成了,就可以把dev合并到master上。最简单的方法,就是直接把master指向dev的当前提交,就完成了合并。
这里写图片描述
合并完分支后,甚至可以删除dev分支。删除dev分支就是把dev指针给删掉,删掉后,我们就剩下了一条master分支。
这里写图片描述
合并分支又分为合并本地分支和合并远端的分支,同时可能要解决冲突问题。在后面的团队合作开发中要谈到的。

------------------------》》》》》》---------无聊分割线---------------》》》》》》--------------------

这篇blog因为没网和其他原因导致拖了快一个星期,还有利用Git进行"团队协作开发"没有介绍,将在下一篇进行介绍,这也是最重要的一部分。下一篇主要进行“团队协作开发和合并分支”的介绍。我先把这篇发了吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值