Git 是分布式版本管理工具, 一台电脑既可以是客户端, 也可以是服务端. 工作过程中可以断开网络. SVN 是集中式版本管理工具, 一台服务器控制很多客户端, 使用过程不能断网.
Git 的优点有: 适合分布式开发, 强调个体, 公共服务器压力和数据量都不会太大, 速度快, 灵活, 可以离线工作.
SVN 的优点有: 管理方便, 逻辑明确, 集中式管理更能保证安全性, 适合人数不多的项目开发.
Git 中的三个概念:
1, 版本库: 在初始化 Git 版本库之后会生成一个隐藏的文件, .Git 可以将该文件理解为 Git 的版本库 repository;
2, 工作区: 项目目录;
3, 暂存区:.Git 目录中的 index 文件就是暂存区, 同时, Git 还为我们自动生成一个 master 分支以及指向该分支的指针 head 在. Git 文件夹中.
三者关系可以理解为我们打开开发环境如 Hbuilder, 里面的内容即工作区的内容, 在工作区里面有的代码以及配置文件等我们需要提交到版本库里面, 最终是到了分支 master 的上面, 暂存区只是一个临时保存修改文件的地方.
注意 Git 需要先安装服务端, 再安装客户端.
Git 常用的操作命令:
1, 检出 Git 的项目仓库: 项目目录下右键单击 Git bash;
本地创建仓库: Git init ;Git status 可查看当前被 Git 管理的文件, 空文件夹 Git 不管理.
2, 本地项目文件夹修改或新增的文件要先添加到本地的项目仓库下: Git add 文件全称 (包括扩展名) ;
仅将修改文件添加到暂存区: Git add -u ;
添加当前目录的所有 文件到暂存区: Git add . 或 Git add --all 或 Git add * 或 Git add -A; 工作中推荐用 Git add . 方便快捷不出错.
3, 添加好文件后要把暂存区的文件提交到当前分支上: Git commit -m "提交日志" (此处一定要写);
查看当前分支的版本历史 (查看日志信息):Git log;Windows 系统下会自动退出, 一些其他系统需要手动使用英文 q 退出.
4, 回退到某个版本上: a: Git reset --hard 日志版本号前六位 , 回到指定版本处; 在此版本后的版本不会存在;
Git reserve + 版本号前六位 回到指定版本处, 但是会生成一个新版本; 在此版本后的版本依然存在
5, 恢复刚刚手动删除的文件: Git checkout 提交生成码文件全程 ;
6, 分支操作:
查看分支: Git branch ; 会列出本地所有分支;
创建分支: Git checkout 分支名称 ;
切换分支: Git checkout 分支名称;
创建并切换到某个分支上 (合并上面两个操作):Git checkout -b 分支名称;
删除分支: Git branch -d 分支名称;
在 master 分支上合并分支: 先切换到 master 分支上再输入命令: Git merge 分支名称;
7,Git 操作 GitHub 上的项目:
克隆线上路径到本地上: Git clone 仓库路径 (eg:http://github.com/Summer/jd.git);
然后各种修改添加功能, 完了之后添加 Git add . 再提交 Git commit -m "添加了轮播图";
检查无误后上传到 GitHub 上: Git push -v origin 分支名; 此过程需要 GitHub 用户名和密码;
第二天上班第一件事就是把代码拉下来: a: Git pull , 他还会直接做一个 commit 操作;
b: Git fetch 只有更新操作 . 建议使用 Git pull;
再进行各种修改添加提交操作.
8,ctrl + CC 强制退出.
来源: http://www.bubuko.com/infodetail-2989585.html