一、git体系的概述
1.1 git和svn的主要区别?
-
1、存储方式不一样;
git是把内容按照元数据方式存储类似k/v数据库,而svn是按照文件(新版svn已改成元数据存储) -
2、使用方式不一样;
把文件从本地推远程:只需要commit, 而git需要add、commit、push三部操作。svn基本使用:
git基本使用:

-
3、管理模式不一样;
git是一个分布式管理系统,而svn是一个集中式的管理系统。
集中式:

分布式:

二、git核心命令使用
0) 下载远程仓库数据
git clone 【地址】
1)查看文件状态:
git status (查看文件状态)
git checkout -- <fileName> 撤销文件修改
2)添加暂存区命令:
git add 【README.MF.MF】 (将文件添加到暂存区)
git add -A (将所有文件添加到暂存区)
3)从暂存区移除:
git rm --cached 【README.MF】 (将指定文件从暂存区移除)
git rm --cached 【文件/目录】 -r (全部移出)
4)将文件从暂存区,提交到本地仓库
git commit 【README.MF】 -m "第一次提交注释" (将文件从暂存区,提交到本地仓库)
git commit -am "第一次提交注释" (将所有文件从暂存区,提交到本地仓库)
5)添加一个远程仓库
$ git remote add 【origin】 【git@xx.xx.xx.xx:repos/xxx/xxx/xxx.git】
6)提交本地仓库数据到远程仓库
git push -u 【origin】 【分支名】
7)分支管理
查看:
git branch (查看本地分支)
git branch -a (查看本地和远程分支)
git branch -av (查看本地和远程分支的提交信息)
git branch -avv (查看所有分支包含关联信息)
------------------------------------------------
创建:
git branch 【新分支名称】 【旧分支名称】(基于本地旧分支创建新分支)
git branch 【新分支名称】 【origin/远程旧分支名称】(基于远程分支创建新分支)
git branch 【新分支名称】 【commit提交id】 (基于一个提交创建分支)
-----------------------------------------------
删除:
git branch -d 【分支名称】
-----------------------------------------------
切换
git checkout 【分支名称】
-----------------------------------------------
合并分支
git merge(可能会处理冲突)
8)远程仓库管理
查看远程配置
git remote
-----------------------------------------------
添加远程地址
git remote add origin http://***.***
-----------------------------------------------
删除远程地址
git remote remove origin
-----------------------------------------------
上传新分支到远程仓库
git remote --set-upstream orgin master
-----------------------------------------------
9) tag管理
查看tag
git tag
创建tag
git tag <tag name> <分支名称>
删除tag
git tag -d <tag name>
10) 日志管理
git log