Git 的使用入门笔记| 青训营

45 阅读3分钟

Git是一个分布式版本管理系统,是为了更好地管理Linux内核开发而创立的。

概述

数据库 (Repository) 是记录文件或目录状态的地方,存储着内容修改的历史记录。在数据库的管理下,把文件和目录修改的历史记录放在对应的目录下。

Git的数据库分为远程数据库和本地数据库的两种。

  • 远程数据库: 配有专用的服务器,为了多人共享而建立的数据库。
  • 本地数据库: 为了方便用户个人使用,在自己的机器上配置的数据库。

如果想要公开在本地数据库中修改的内容,可以把内容上传到远程数据库。另外,通过远程数据库还可以取得其他人修改的内容。

创建本地数据库的方法有两种:一种是创建全新的数据库,另一种是复制远程数据库。

若要把文件或目录的添加和变更保存到数据库,就需要进行提交。

执行提交后,数据库中会生成上次提交的状态与当前状态的差异记录(revision)提交是以时间顺序排列状态被保存到数据库中的。凭借该提交和最新的文件状态,就可以知道过去的修改记录以及内容。

系统会根据修改的内容计算出没有重复的40位英文及数字来给提交命名。指定这个命名,就可以在数据库中找到对应的提交。

执行提交时,会要求输入提交信息(空白的状态下执行提交会失败的)。

Git的标准提交注解:

第1行:提交修改内容的摘要
第2行:空行
第3行以后:修改的理由

在Git管理下,实际操作的目录被称为工作树。在数据库和工作树之间有索引,索引是为了向数据库提交作准备的区域。

Git基础

Git 常用命令有:git clonegit pushgit add 、git commitgit checkoutgit pull

git-command.jpg

  • workspace:工作区
  • staging area:暂存区/缓存区
  • local repository:版本库或本地仓库
  • remote repository:远程仓库

git init 初始化仓库

可以看到项目中生成了 .git 这个子目录,所有有关此项目的所有内容和元数据都存放在这里。(.git 默认是隐藏的,可以在查看中设置勾选显示隐藏项)

git clone 克隆仓库

git clone命令,可以复制远程仓库的所有代码和历史记录,并在本地创建一个与远程仓库相同的仓库副本。

git add 添加文件到暂存区

运行git add命令,可以让 Git 知道哪些文件的修改应该包含在下一次提交(commit)中 添加一个或多个文件到暂存区:

git add [file1] [file2] ...

添加指定目录到暂存区,包括子目录:

git add [dir]

添加当前目录下的所有文件到暂存区:

git add .

git commit 将暂存区内容添加到仓库中

git commit 命令将暂存区内容添加到本地仓库中。

git commit -m [message]

其中[message] 可以是一些备注信息。

git pull 下载远程代码并合并

用于从远程获取代码并合并本地的版本

将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。

git pull origin master:brantest

如果远程分支是与当前分支合并,则冒号后面的部分可以省略。

git pull origin master

git push上传远程代码并合并

用于从将本地的分支版本上传到远程并合并。

将本地的 master 分支推送到 origin 主机的 master 分支:

$ git push origin master

分支管理

Git 分支实际上是指向更改快照的指针。

创建分支命令:

git branch (分支名)

切换分支命令:

git checkout (分支名)

合并分支命令:

git merge 

在合并分支时有时候会出现合并冲突,必须要在处理完冲突后才能合并分支。

列出分支基本命令:

git branch

没有参数时,git branch会列出本地的分支。

$ git branch
* master

意为存在一个叫做master的分支,并且该分支是当前分支。

$ git branch test
$ git branch
* master
  test

这样就多了一个新分支test

删除分支命令:

git branch -d (分支名)