Git 的基本使用和分支合并

Git 基础

那么,简单地说,Git 究竟是怎样的一个系统呢? 请注意接下来的内容非常重要,若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余。 在开始学习 Git 的时候,请努力分清你对其它版本管理系统的已有认识,如 Subversion 和 Perforce 等;这么做能帮助你使用工具时避免发生混淆。 Git 在保存和对待各种信息的时候与其它版本控制系统有很大差异,尽管操作起来的命令形式非常相近,理解这些差异将有助于防止你使用中的困惑。

直接记录快照,而非差异比较

Git 和其它版本控制系统(包括 Subversion 和近似工具)的主要差别在于 Git 对待数据的方法。 概念上来区分,其它大部分系统以文件变更列表的方式存储信息。 这类系统(CVS、Subversion、Perforce、Bazaar 等等)将它们保存的信息看作是一组基本文件和每个文件随时间逐步累积的差异。

下面是我使用git的尝试:

  1. 初始化一个本地仓库
  2. 初始设置
  3. 将本地文件加入git版本控制追踪中
  4. 第一次提交
  5. 回滚到提交前的状态
  6. 查看提交日志
  7. 创建分支
  8. 对分支进行修改并进行提交
  9. 将分支合并到主分支(master)
  10. 解决冲突
  11. 远程仓库设置与管理
  12. 向远程仓库提交
  13. 向远程仓库新增分支
  14. 待续

 

一、初始化一个本地仓库

首先初始化本地仓库之前,确定当前目录是否存在 .git 的目录。如果存在,请先移除,否则会出现如下的提示:

之前存在的git提交记录和配置都会存在。所以,删除原先的目录开始重新创建一个本地的版本控制是非常有必要的。

上图是删除了.git目录之后初始化目录的显示结果。

使用 git log 查看本地提交日志也很干净。这就进行了一次创建本地的版本控制目录~

二、初始设置

在你进行修改并提交之前,是需要设置你当前版本控制库的基本信息的,主要有两项需要立即进行设置。

否则提交的时候会出现如下的提示,并且你后续的提交也会失败

设置用户名 & 设置你的邮箱:

将命令执行后,当前目录的操作用户和邮箱就设置好了~

注意:

你可能注意到我上图命令行执行的命令和之前图提示的内容不同。因为git 提示的设置的是全局的 (–global )而我们只在当前目录进行设置的话,是不需要加上这个配置的。”

三、     将本地文件加入git版本控制追踪中

当我们配置好之后,就能讲本地的代码OR 脚本加入新初始化的本地版本库中了。

然后我们可以用git status 来查看当前工作目录的情况

四、第一次提交

上面我们准备将a.txt 这个文件加入版本库中进行追踪了,但是还没有真正进入版本库中,因为它需要一次commit(提交)

在没有commit之前,所有的操作都是暂存当前目录中,使用git rm –cached <文件>来清理暂存区的内容。

如果你决定提交这次修改,执行

git commit 会打开vim的界面,里面填写了本次修改的内容和未跟踪的文件,但是这些内容用# 进行注释了,你只需要切换到vim的INSERT模式填写你的提交说明并且保存退出即可。如果你的提交说明很多的话,可以考虑使用这种方式。如果说明比较简单的话,可以直接使用git commit -m ‘你的说明’  然后完成这次提交。执行效果和没有加上-m 是一样的。如下图所示

如果想要跳过使用暂存区域来(就是不用每次都先执行git add . 来将本次修改的文件加入提交队列中)

假如发现git commit 提交的说明有写错,需要重新编写~可以使用这条命令git commit –amend 重新编写说明,会进入vim进行编写

五、回滚到提交前的状态

如果你发现这次提交的代码存在问题,需要回滚到之前的版本。这时候应该怎么做呢?

之前也使用过SVN之类的。虽然入门很简单,但是使用起来还是比较的麻烦。