本人文笔太次,主要以学习为目的,请大家不必太认真!
1:创建github 账号(百度一堆教程)
2:下载安装git(百度一堆教程)
3:我们都知道版本管理有git svn cvs等等,这里我们先不说cvs,与svn差不多,简单说一下git与svn的却别,先来看一张图
上面的svn的操作流程,下面的是git的操作流程,可以看出git稍微繁琐一些;那么,他俩又哪些不同呢?
GIT 与 svn 主要区别
- 存储方式不一样:GIT把内容按元数据方式存储类似k/v数据库,而SVN是按文件(新版svn已改成元数据存储)。
- 使用方式不一样:从本地把文件推送远程服务,SVN只需要commint 而GIT需要 add、commint、push 三个步骤。
- 管理模式不一样:git 是一个分布式的版本管理系统,而要SVN是一个远程集中式的管理系统。
接下来 我们开始git的流程学习!
a:GIT的基本使用;(假设 GitHub 已经创建好,git客户端安装完成)
1:创建一个项目:创建一个文件夹,进入即可;
2:git初始化:git init;
3:创建一个文件写入内容:echo ‘this is git 1‘ >> README.MF;
4:添加到暂存区:git add <filename>/-A(全部添加); 例:git add README.MF / git add -A;
5:提交到本地资源库:git commit <filename>/-A(提交全部) m (注释) ‘‘,例:git commit README.MF -m ‘commit 1‘ / git commit -am ‘commit 1‘;
6:推送到远程:git push
a:如果第一次需要 先 关联到远程仓库:git remote add origin https://github.com/sishen001/gitest.git;
b:第一次需要关联账号需要先做关联:git config --global user.name "git 账号" ;git config --global user.email "test@163.com";
c:第一次需要关联远程分支:git push --set-upstream origin master;意思是关联本地分支 origin与远程分支master;
7:查看当前分支:git branch (查看本地分支);git branch -avv (查看所有分支明细)
8:创建分支:git branch dev;
9:基于分支创建分支:git branch testBranchName dev;基于 dev 创建分支;
10:删除分支:git branch -d <branch name>; 切换分支:git checkout <branch name>
11:删除远程分支:git remote remove origin2;
12:创建tag:git tag testtag dev;基于dev分支创建testtag tag;
13:查看tag:git tag;
14:查看所有提交日志:git log;
15:克隆远程仓库:git clone <url>
16:更新:git pull;
17:查看 当前文件状态:git status;
18:查看远程仓库:git remote -v;
19:分支合并:git merge <target branch>;将指定分支合并到当前分支;
20:分支比对:git log dev..master master 有多少没有同步到dev中;
21:查看提交网络:git log --graph --online;
22:展示分支最后一次提交明细:git show <branch name>;
23:查询objects 下所有的文件:find .git/objects/ -type f
24: 查看值 根据存储的内容key:git cat-file -p key;
25:版本回滚 回退到指定版本:git cat-file -p <key> README.MF;
26:git 存储二进制的对象类型;git cat-file -t <key>;
27:查看树对象:git cat-file -p master ^{tree};
28:查看commit 对象:git log master;
分支与回退:git 分支就是多了一个引用指向(指向每个对象); git 回滚 就是更改了之前的引用(对象)而已;一个提交就是一个commit 对应一个值(值对象);
对象:git 本身存储结构 是 key-value 形式,比如说你创建了一个文件,那么系统会把这个文件内容根据hash算法得到一个唯一的key ,那么这个key就是这个文件的对象,
也就是说,我只要知道这个key,那么我就知道了这个文件;只要文件内容作了改变,那么这个key一定会变;
还有很多没说到的,比如说,git底层存储结构是怎样的,企业一般怎么搭建git服务等等,我会抽时间在追加上,目前这些已经可以完成对git的操作使用啦。
原文地址:https://www.cnblogs.com/xiaoyao-dafei/p/10503910.html