@[git]
1.
Git 是一个开源的分布式版本控制系统,用于敏捷高效的处理任何项目的版本问题。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS,SVN 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
关于项目版本管理:
项目在开发的过程中,经常会出现多人分工协作进行项目分发并开发整合的过程,所以项目在刚开始实行的时候经常会出现一些协作开发的同步的问题,同时存在项目整体进度的控制和管理的问题,所以在程序开发行业衍生出来了版本管理工具。
版本管理工具,首先是一个内容管理工具,可以将项目的内容信息存放在版本管理服务器上方便项目组人员进行访问和查询修改。
版本管理具有里程碑意义的主要有三个阶段:CVS 阶段 SVN 阶段 Git 阶段
CVS 阶段:
项目搭建开发过程中,每次提交项目都会将整个项目提交到服务器进行保存,服务器存储着项目的N 个备份,开发过程中的协作效率较低,同时也出现了各种传输的问题,所以慢慢淡出了
SVN阶段:
考虑到CVS 的缺陷,开发人员研发出专门针对项目版本控制的软件 Subversion (简称 SVN), SVN 同样也是搭建服务器,让项目组成员将数据存储在服务器上,但是每次改动并提交的时候, SVN 服务器并不重新保存整个项目的完整信息,而是和原来的项目进行对比,只保存改动的信息。这样就在很大的程度上对于项目版本服务器、项目协作效率有了显著的提升。所以至今为止,有很多公司依然选用 SVN 作为公司内部项目协作的版本控制软件。
Git阶段:
前面的CVS 和 SVN 都是基于一个服务器的,如果脱离服务器,项目的版本保存就没有了任何意义,Git 恰恰处理了这样的问题,Git 是一个分布式的版本控制系统,在 Git 中即使用户离线,也能进行项目的提交和更新操作,等到下次连线服务器时进行整体的同步操作。
工作区、暂存区及版本库的概念:
工作区:个人 PC 中能看到的文件目录结构
暂存区: stage/index,一般存放在.git/index 中,所以 git 中的暂存区也会称为索引。
版本库:工作区中的.git 隐藏文件,不算是工作区,而是 Git 的版本库。
2.安装git
操作哪个项目就进入哪个文件夹下面-右键-git bash打开
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
安装完成后,还需要最后一步设置,输入命令:(一个电脑只用配置一次)
git config --global user.name "Name"
git config --global user.email "Email"
git config -l 查看用户名是否配置成功
3.本地操作
新建项目->进入项目->
git init:初始化git仓库,创建
git bash:运行git -> 新建项目 -> cd 项目名称:进入项目
git add 文件名 / git add *:开发功能,添加到暂存区 / *添加所有
git commit -m "此处可写注释":完成并提交一个功能(本地服务器)
git status:查看命令结果
git checkout --文件名:撤销工作区的修改
git log / git reflog:查看历史命令 / regflog能看到所有的历史命令
git reflog:查看之前所有的版本号
git reset --hard <版本号>:返回到<版本号>版本 git reset --hard HEAD^
首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
git diff:查看改变的内容
git clone <地址>:下载文件
git pull:把内容拉进来
git push:把内容加进去
分支常用命令:
git init (创建一个隐藏文件夹git)
git log (查看操作记录)
git branch -v (查看本地库中的所有分支)
git branch dev (创建一个新的分支)
git checkout dev (切换分支)
分支合并:
git checkout master(切换到接收修改的分支)
git merge dev(注:切换分支后,在dev分支中做出的修改需要合并到被合并的分支master上)
4.命令
、、、bash
ls 目录 : 查看当前目录下文件
cd 文件夹路径 : 进入文件夹
cd .. : 返回上一级目录
mkdir 目录名 : 创建目录
touch 文件名 : 创建文件
vi 文件名 : 编辑文件
Esc -> : -> wq -> 回车 : 保存编辑的文件
cat 文件名 : 查看文件内容
rm -f 文件名 :删除文件
Tab : 可提示文件名
pwd : 进入用户的主目录
mkdir 文件名 : 新建文件夹
touch 文件名 : 新建文件
Esc:wq : 写入并退出
cat 文件名 : 查看文件内容
rm -f 文件名 : 删除文件
rm -f * : 删除当前文件夹中的所有文件
5.更新代码重新上传到远程服务器
1.git add *
2.git commit -m ''
3.git pull(还有别人上传的话)
4.git push
6.分支管理
git branch <分支名>:创建一个分支
git branch -a:查看所有分支
git checkoud <分支名> :进入该分支
git checkout -b dev:创建并切换到该dev分支
git merge <分支名>:合并指定分支到当前分支
git branch -d dev:删除dev分支