git详细操做

Git介绍

 

分布式 : Git版本控制系统是一个分布式的系统, 是用来保存工程源代码历史状态的命令行工具;git

 

保存点 : Git的保存点能够追踪源码中的文件, 并能获得某一个时间点上的整个工程项目额状态; 能够在该保存点将多人提交的源码合并, 也能够会退到某一个保存点上;shell

 

Git离线操做性 :Git能够离线进行代码提交, 所以它称得上是彻底的分布式处理, Git全部的操做不须要在线进行; 这意味着Git的速度要比SVN等工具快得多,  由于SVN等工具须要在线时才能操做, 若是网络环境很差, 提交代码会变得很是缓慢; windows

 

Git基于快照 : SVN等老式版本控制工具是将提交点保存成补丁文件, Git提交是将提交点指向提交时的项目快照, 提交的东西包含一些元数据(做者, 日期, GPG等);浏览器

 

Git的分支和合并 : 分支模型是Git最显著的特色, 由于这改变了开发者的开发模式, SVN等版本控制工具将每一个分支都要放在不一样的目录中, Git能够在同一个目录中切换不一样的分支;缓存

分支即时性 : 建立和切换分支几乎是同时进行的, 用户能够上传一部分分支, 另一部分分支能够隐藏在本地, 没必要将全部的分支都上传到GitHub中去;安全

分支灵活性 : 用户能够随时 建立 合并 删除分支, 多人实现不一样的功能, 能够建立多个分支进行开发, 以后进行分支合并, 这种方式使开发变得快速, 简单, 安全;bash

 

二. Git通用客户端(msysgit)

 

1. 下载Git客户端

 

Git客户端下载地址 :https://code.google.com/p/msysgit/downloads/list 将地址复制到浏览器栏便可下载.
网络

 

2. 安装Git客户端

 

欢迎界面 : 直接下一步;编辑器


 

协议 : 必须接受;分布式


 

安装位置 : 预留100M空间, 自定义安装位置;


 

选择安装组件 :也能够默认选择;

-- 图标组件(Addition icons) : 选择是否建立快速启动栏图标 或者 是否建立桌面快捷方式;

-- 桌面浏览(Windows Explorer integration) : 浏览源码的方法, 单独的上下文浏览 只使用bash 或者 只用Git GUI工具; 高级的上下文浏览方法 使用git-cheetah plugin插件;

-- 关联配置文件 : 是否关联git配置文件, 该配置文件主要显示文本编辑器的样式;

-- 关联shell脚本文件 : 是否关联Bash命令行执行的脚本文件;

-- 使用TrueType编码 : 在命令行中是否使用TruthType编码, 该编码是微软和苹果公司制定的通用编码; 


 

开始菜单快捷方式目录 : 设置开始菜单中快捷方式的目录名称, 也能够选择再也不开始菜单中建立快捷方式;


 

设置环境变量 : 选择使用什么样的命令行工具, 通常状况下咱们默认使用Git Bash便可, 默认选择;

-- Git自带 : 使用Git自带的Git Bash命令行工具;

-- 系统自带CMD : 使用Windows系统的命令行工具;

-- 两者都有 : 上面两者同时配置, 可是注意, 这样会将windows中的find.exe 和 sort.exe工具覆盖, 若是不懂这些尽可能不要选择; 


 

选择换行格式 : 

-- 检查出windows格式转换为unix格式 : 将windows格式的换行转为unix格式的换行在进行提交;

-- 检查出原来格式转为unix格式 : 无论什么格式的, 一概转为unix格式的换行在进行提交;

-- 不进行格式转换 : 不进行转换, 检查出什么, 就提交什么;


 

开始安装 : 


 

安装结束 : over;

 

 

 

GitHub操做流程 :

 

第一次提交 :  

方案一 : 本地建立项目根目录, 而后与远程GitHub关联, 以后的操做同样;

-- 初始化Git仓库 :git init ;

-- 提交改变到缓存 :git commit -m 'description' ;

-- 本地git仓库关联GitHub仓库 : git remote add origin git@你的地址 ;

-- 提交到GitHub中 : git push -u origin master ;

方案二 : 方案二就是不用关联GitHub仓库, 直接从GitHub冲克隆源码到本地, 项目根目录也不用建立;

-- 从GitHub上克隆项目到本地 :git clone git@你的地址 , 注意克隆的时候直接在仓库根目录便可, 不用再建立项目根目录 ;

-- 添加文件 :git add ./* , 将目录中全部文件添加;

-- 提交缓存 :git commit -m '提交';

-- 提交到远程GitHub仓库 : git push -u origin master ;

以后修改提交 : 

-- 与GitHub远程仓库同步 :git pull ;

-- 查看文件变动 : git status ;

-- 提交代码到本地缓存 : git commit -m 'description';

--提交代码到远程GitHub仓库 :git push ;

 

.gitignore用法 : 开放模式 注明忽略的文件 直接列出文件名, 保守模式 注明保留的文件 !文件名 ;

 

Git标签操做 : 轻量级标签, 带注释标签;

--查看标签 :git tag ;

--添加标签 : 轻量级标签git tag tagName , 带注释标签git tag -a tagName -m 'description' ;

--删除标签 :git tag -d tagName ;

--提交标签到GitHub中 : git push origin --tags ;

 

Git分支操做: 建立分支后, 分支操做不会影响master分支, 可是master分支改变会影其它分支;

--列出分支 :git branch ;

--切换分支 :git checkout master ;

--提交分支 : git push origin branchName ;

--删除分支 : git branch -d branchName , 强制删除分支 git branch -D branchName ;

--合并分支 : git merge branchName ;

相关文章
相关标签/搜索