git学习笔记

2018-05-05  本文已影响25人  砺雪凝霜

一、git版本库

Git版本库只是一个简单的数据库,其中包含所有用来维护与管理项目的修订版本和历史的信息。在Git中,跟大多数版本控制系统一样,一个版本库维护着项目整个生命周期的完整副本。然而,不同于其他大多数VCS,Git版本库不仅仅提供版本库中所有文件的完整副本,还提供版本库本身的副本。

Git维护着两个主要的数据结构:对象库和索引。所有的这些版本库数据存放在工作目录跟目录下一个名为.git的隐藏子目录中。

对象库在复制操作的时候能进行有效复制,这也是用来支持完全分布式VCS的一种技术。索引是暂存的信息,对版本库来说是私有的,并且可以在需要的时候按需求进行创建和修改。

二、Git对象类型

对象库是Git版本库实现的心脏。它包含你的原始数据文件和所有日志消息、坐着信息、日期,以及其他用来重建项目人意版本或分支的信息。

Git放在对象库里的对象有四种类型:块(blob)、目录树(tree)、提交(commit)和标签(tag)。这四种原子对象构成Git高层数据结构的基础。

三、git常用命令

1、基本命令
git init :初始化一个Git仓库

git clone <项目地址>:从远程仓库copy一个git版本库到本地

git add <file>:将文件添加到版本库中

git add . :将根目录下所有的文件添加进版本库中

git status:查看暂存区(索引)中文件的状态

git commit -m "message":将文件由暂存区添加到工作区中,也可以说添加进当前的分支中

git log:查看提交的日志信息

git rm <file>:删除文件

git checkout HEAD -- <file>:用于恢复git rm删除的文件

git reset :用于版本回退

git reset --soft HEAD^ :会将HEAD引用指向给定提交。索引和工作区目录的内容保持不变

git reset --mix HEAD^ :会将HEAD指向给定提交。索引内容也跟着改变以符合给定提交的结构,但是工作目录中的内容保持不变。这个版本的命令会将索引变成你刚刚暂存该提交全部变化时的状态。

git reset --hard HEAD^:会将HEAD指向给定提交,索引的内容和工作区的当前修改将会消失,新文件也将删除。如果当前commit可以丢掉,那么可以用--hard来实现。

git cherry-pick <commitId>:一般用于把一个分支中的commit,引入到另外一个分支中。实际开发中如果刚开发一个新功能,刚好其它分支中也需要该功能, 那么可以使用git cherry -pick commitId 把功能添加到另外一个分支中。

git revert <commitId>:回退到特定的commit版本

4、操作分支的相关命令

git branch:查看分支

git branch <branch>

git fetch:把远程分支更新到本地

git checkout -b <branch>:切换到dev分支

git merge <branch>:把dev的代码合并到当前分支

git branch -d <branch>: 删除分支

上一篇 下一篇

猜你喜欢

热点阅读