码迷,mamicode.com
首页 > 其他好文 > 详细

Git ----> 基础知识

时间:2019-09-05 23:43:07      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:合并   当前目录   控制系统   而不是   文件的   整理   可见   commit   相同   

基础知识

1 GIt 分布式版本控制系统

2 集中式和分布式版本控制系统有什么区别?

集中式版本控制系统:版本库是集中放在中央服务器的;必须有联网才能工作;工作前必须从中央服务器取得最新的版本

分布式版本控制系统:没有“中央服务器”,每个人的电脑都是一个完整的版本库;安全性比集中式要高很多;多人协作时通过一台充当“中央服务器”的电脑来交换大家的修改。

3 什么是版本库?

版本库,也叫仓库,英文叫repository。版本库是一个有很多文件的目录,它被Git管理,能够跟踪每个文件的修改,删除等,方便追踪历史和“还原”。

在某个文件夹中,我们通过命令行执行git init后,当前目录下会生成一个.git的目录,它是隐藏的文件夹。Git通过该目录来跟踪管理版本库。

4 commit

commit可以理解为“保存一个快照”。

Git的commit id 不是1,2,3......递增的数字,而是一个SHA1计算出来的数字,这个数字用十六进制表示。

5 版本

HEAD表示当前版本

HEAD^表示上一个版本

HEAD^^表示上上个版本

HEAD~100表示上第100个版本

6 Git的工作区和暂存区

工作区:电脑中可见的文件夹(目录)

版本库:工作区中的隐藏目录.git

暂存区:存在于版本库中,名字叫stage

执行命令git add filename,它会把工作区文件的修改被放入暂存区。

执行命令git commit -m "xxx",它会把暂存区中的修改提交。

7 master分支和HEAD指针

在某个文件夹中,我们通过命令行执行git init后,当前目录下会生成一个.git的目录。

在版本库中,Git为我们自动创建了第一个分支master,和指向master的HEAD指针。

HEAD指向master,master指向提交。HEAD指向的是当前的分支。

8 分支和HEAD

Git的分支创建非常快!它通过指针实现。Git创建一个分支dev时,Git创建了一个指针dev,指向master相同的提交。

分支:每次提交所形成的的时间线。主分支,也叫master分支。

9 指针

Git内部有个指向当前版本的HEAD指针

Git分支的创建,修改,提交,合并,删除等操作,实质上是对指针的操作。

10 修改

Git 跟踪并管理的是修改,而不是文件

11 远程仓库

本地仓库,本地仓库和远程仓库关联,克隆远程仓库

12 Git用符号<<<<<<<=======>>>>>>>标记出不同分支的内容。

一般地,<<<<<<< 是当前分支的内容,>>>>>>>是分支的内容,=======用来分隔两个分支的冲突的内容

13 分支的合并

  fast-forward模式的git merge:删除分支后,它会丢掉分支信息(丢失提交历史)

  --no-ff方式的git merge(两个分支分别有新的提交):先手动解决冲突,再提交;它会生成一个新的commit(提交历史会存在)

14 克隆远程仓库

Git自动把本地的master分支远程的master分支对应起来了,远程仓库的默认名称是origin。

推送分支:把该分支上的所有本地提交推送到远程仓库。

本地分支和远程分支的链接关系:--set-upstream-to

15 rebase变基

rebase操作的特点:把分叉的提交历史“整理”成一条直线,看上去更直观。

缺点是本地的分叉提交已经被修改过了。

16 标签

版本库的一个快照。本质是指向某个commit的指针,它跟某个commit绑定在在一起。

17 .gitignore文件

在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。

.gitignore文件本身要放到版本库里,并且可以对.gitignore文件做版本管理

 

参考资料:

https://git-scm.com/book/zh/v2

https://www.liaoxuefeng.com/wiki/896043488029600

Git ----> 基础知识

标签:合并   当前目录   控制系统   而不是   文件的   整理   可见   commit   相同   

原文地址:https://www.cnblogs.com/mrray1105/p/11361171.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!