《工程_Git》之Git_1

2018-08-02  本文已影响221人  tjhuey

前言:
Git你了解多少?一探究竟!

1.Git体系

Git与SVN区别

存储方式:

GIT把内容按元数据方式存储类似k/v数据库,而SVN是按文件(新版svn已改成元数据存储)。

使用方式:

从本地把文件推送远程服务,SVN只需要commint 而GIT需要 add、commint、push 三个步骤SVN基本使用过程。

1.SVN基本使用过程
svn.png
2.Git基本使用过程
git_use.jpg
管理方式:

git 是一个分布式的版本管理系统,而要SVN是一个远程集中式的管理系统。

集中式:
svn_manage.png
分布式:
git_manage.png

2.核心命令

01本地初始化项目并关联远程仓库

mkdir git_repeat 新建目录
cd git_repeat 进入目录
git init 初始化仓库
touch README.md 新建文件
vim README.md 编辑文件
git add README.md 添加到缓冲区
git commit -m "first commit" 提交到本地仓库
git remote add origin https://gitee.com/tjhuey/git_repeat.git 关联远程仓库
git push -u origin master 关联简化以后push 和 pull
git remote  对应远程信息
02.fork远程代码
git clone  https://gitee.com/tjhuey/git_repeat.git gir_repeat2 克隆代码到本地
03.版本回退与超前
 回退       git reset --hard 版本号
 超前  (回退后 当前版本之前的版本看不到了)
 记住版本号 或者   git reflog 查看历史操作 
04.撤销文件修改
未提交到本地仓库时   git checkout -- filename
提交到本地仓库时  git reset HEAD(git rm --cached 文件名  )[根据提示]  退回到add后状态,(再git checkout -- filename 恢复原版本)  
05 分支相关
git checkout-b本地分支名x origin/远程分支名x 依赖远程分支创建本地分支 并切换到本地分支上去
查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

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

删除远程分支
1.7版本前
- git branch -r -d origin/branch-name
- git push origin :branch-name

1.7版本后
$ git push origin --delete <branchName>
06 日志log相关
#查看当前分支下所有提交日志
git log
#查看当前分支下所有提交日志
git log {branch}
# 单行显示日志
git log --oneline
# 比较两个版本的区别
git log master..experiment

Git原理:

1.Git是内容寻址文件系统,底层是C开发的,原理 简单的说 是 类似java中的 hashMap 即key-value 数据存储。每次提交都会产生一个 能定位某文件或目录的SHA-1值,是一个指针,在git中 文件可能是Blob类型或者Tree类型。我们提交的文件是Blob,目录是Tree。这就是检索时快速的原因。


2.Git中分支创建也是依赖某次提交的SHA-1值,有了这个指针,内部的HEAD指针只要指向哪个SHA-1值 就是定位哪个分支,哪个文件的当时状态,故Git可以理解是指针指向的概念。


3.每个文件的内容去哪了,SHA-1哈希算法正是根据内容计算的hash值。故你有了hash值,就能得到对应的内容。故你回退或前升到哪个时刻的内容都是ok的。


4.在任何第三方UI软件中集成的Git都是基于Git命令,建议小伙伴们还是直接用命令。


5.哪些不明白可以互相交流哦!


git_top.png

coding 时,做到了如何落实;
writing时,做到了如何表达;
sharing时,做到了如何传授;
thinking时,做到了如何提升;

[详细请参考官网:)
[Git官网请参考:https://git-scm.com/book/zh/v2/]

进度

互联网工程之Git_1,yes
其他,no

上一篇下一篇

猜你喜欢

热点阅读