Git的使用

1、Git简介:
Git是一个开源的分布式版本控制系统。与SVN、CVS相比
分布式
   不需要中心仓库
Git的版本号都是生成的一个哈希值,比如:bbaf6fb5060b4875b18ff9ff637ce118256d6f20
性能
   分支与合并是比较简单
   对比快
   存储空间少
 
2、Git的作用:
可以利用它来追踪项目中的文件
可以和合作伙伴共享版本历史状态
可以将合作伙伴的工作和你的工作进行合并
可以对整个工程或某些文件跟历史版本进行比较或者恢复到早期的某个版本。
 
3、Git术语:
Repository 包括本地库和远程库
Pull / Push / Checkout / Fetch :上传、获取
Branch:分支
Merge:合并
Conflict:冲突
Commit:提交
Revert:恢复
Working Directory:工作目录
 
4、远程库(左图)和本地库(右图)截图如下:
 
5、Git一些常用命令:
获得仓库                获取信息
git init                   git help
git clone                 git status
                            git diff
提交                      git log
git add                   git show(显示改动情况)
git commit
 
6、Git命令的备忘流程:
 
 
7、Git的工作流程:
建立本地工作目录(init,clone)
与远程仓库同步(pull,fetch)
修改文件
查看变更(show,status)
载入变更(add or –a)
提交载入的变更(commit)
重复
上传(push)
 
8、第一个Git库:
告诉Git你是谁
git config –global user.name “xucons”
git config –global user.email “xucons@gmail.com”
创建一个库:git init
克隆一个库:git clone git://git.kernel.org/scm/git/git.git
 
9、远程仓库操作:
git clone <仓库地址> 
git remote –v 列出所有远程仓库
git push <仓库名> <分支名> 推送本地分支更新到远程仓库
git fetch  从远程仓库获取更新
git pull  从远程仓库获取更新并merge本地分支
 
10、Pull与Fetch区别:
git fetch:相当于是从远程获取最新版本到本地,不会自动merge
git pull:相当于是从远程获取最新版本并merge到本地,相当于git fetch 和 git merge 
在实际使用中,git fetch更安全一些。因为在merge前,我们可以查看更新情况,然后再决定是否合并
 
11、Git文件的状态变化图:
 
 
12、常用文件操作命令:
git status 查看文件状态
git add <file> 跟踪新文件或暂存已修改文件
git diff  查看文件变化
git  commit –m <msg> 提交更新
git rm file  移除文件
git  log 查看提交日志
git commit –ammend    修改最后一次提交
git reset HEAD <file> 取消已暂存文件
git checkout -- <file> 取消文件修改
 
13、查看历史版本:
可以通过git log 命令来查看历史版本的提交
git log的操作都是本地操作,基本都能瞬间完成,比SVN快很多,查看历史版本或进行diff比较都非常方便
也可以通过git revert操作来回退到历史版本
 
14、revert和reset:
reset
   将当前的工作目录完全回滚到指定的版本号
revert
   还原一个版本的修改,必须提供一个具体的Git版本号,例如'git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20' 
区别
   reset是指将当前head的内容重置,不会留任何痕迹。
   revert是撤销某次提交,但是这次撤销也会作为一次提交进行保存。
 
 
15、Rebase:
nrebase命令执行后,实际上是将分支点从C移到了G,这样分支也就具有了从C到G的功能
 
16、分支与标记:
分支
创建分支
    git branch <name>
    git branch <name> <commit-id>
删除分支
    git branch -d <name>
查看分支
    git branch
    git branch -r”   //remote branch
转动某一分支
    git checkout <commit-id>
    git checkout -b <name> <commit-id>
分支合并
    git merge <name> //合并指定的分支到当前分支
标记
    标记只是一个方便人识别某次提交的一个标签
    git tag <tag-name>
 
17、GitHub介绍:
GitHub是一个基于web与git的托管项目服务,你可以这里托管你的代码。
 
18、xcode7 git没法用,在终端输入如下命令即可:
git config --global user.email  your@email.com
git config --global user.name @"your name"
19、总结:
Git是一个很棒的工具进行协作
难以在短时间内精通,需要在日常使用中不断学习,,,,,

iOS:Git分布式版本控制器系统的更多相关文章

  1. 细说GIT分布式版本控制器

    一.Git介绍 Git是目前世界上最先进的分布式版本控制器.Svn CVS 版本控制器:就是用来追溯自己书写的代码的记录信息.好处:可以非常方便的记录何时何地何人操作了哪些代码. 什么是分布式版本控制 ...

  2. Git分布式版本控制器使用

    前言: 使用Git版本控制器差不多有一年多的时间了,在这一年多的时间里对这个传说的的分布式版本控制工具有了一定的了解.在实战项目开发中,对关于如何在通过Git提交项目,以及如何使用Git命令对提交的文 ...

  3. Git分布式版本控制器安装注意点及其常用命令

    将git按照默认选项下载安装后,打开git bach版面进行git命令行操作(记住在安装的过程中文件夹中不能存在中文):注:Windows下,路径名不要包含中文,因为Git对中文支持不给力,可能会存在 ...

  4. GIT分布式版本控制器的前后今生

    Git的入门与安装 GIT基础操作 GIT的分支应用 GITLAB应用 gitlab与pycharm应用 GITHUB使用

  5. GIT分布式版本控制系统

    Git诞生历史 我想大家还记得Linus torvalds在1991年时发布了Linux操作系统吧,从那以后Linux系统变不断发展壮大,因为Linux系统开源的特性,所以一直接受着来自全球Linux ...

  6. Git ——分布式版本控制系统

    Git ——分布式版本控制系统 本人git主页地址:https://github.com/lendoon/test.git git使用心得:初次接触git在课堂上,老师给我们提供了一个代码托管的场所, ...

  7. 手把手教你玩转Git分布式版本控制系统! (转载)

    目录 Git诞生历史 Git环境准备 Git安装部署 Git常用命令 Git基本操作 Git管理分支结构 Git管理标签 GitLab安装部署 GitHub托管服务 Git客户端工具 Git诞生历史 ...

  8. 手把手教你玩转Git分布式版本控制系统!

    目录 Git诞生历史 Git环境准备 Git安装部署 Git常用命令 Git基本操作 Git管理分支结构 Git管理标签 GitLab安装部署 GitHub托管服务 Git客户端工具 1 Git诞生历 ...

  9. g4e基础篇#2 Git分布式版本控制系统的优势

    g4e 是 Git for Enterprise Developer的简写,这个系列文章会统一使用g4e作为标识,便于大家查看和搜索. 章节目录 前言 1. 基础篇: 为什么要使用版本控制系统 Git ...

随机推荐

  1. merry Christmas

    圣诞节的来历 圣诞节这个名称是基督弥撒的缩写. 弥撒是教会的一种礼拜仪式. 1.耶诞节是一个宗节,我们把它当作耶苏的诞辰来庆祝,因而又名耶诞节.这一天,世界所有的基督教会都举行特别的礼拜仪式.但是有很 ...

  2. 在windows下用eclipse + pydev插件来配置python的开发环境

    在windows下用eclipse + pydev插件来配置python的开发环境 一.安装 python 可以到网上下个Windows版的python,官网为:https://www.python. ...

  3. 【CentOs】sudo使用

    在使用Linux系统过程中,通常情况下,我们都会使用普通用户进行日常操作,而root用户只有在权限分配及系统设置时才会使用,而root用户的密码也不可能公开.普通用户执行到系统程序时,需要临时提升权限 ...

  4. js+CSS实现模拟华丽的select控件下拉菜单效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. jQuery的弹出窗口插件colorbox

    官方网站:http://colorpowered.com/colorbox/ 支持 照片,照片组,幻灯片,ajax,内联 和 iframe 框架. 通过CSS 控制外观,使用用户可以很容易重新定制外观 ...

  6. bzoj 2038 莫队算法

    莫队算法,具体的可以看10年莫涛的论文. 大题思路就是假设对于区间l,r我们有了一个答案,那么对于区间l,r+1,我们 可以暴力的转移一个答案,那么对于区间l1,r1和区间l2,r2,需要暴力处理 的 ...

  7. 自定义对话框 提示:Unable to add window token null is not for an application

    这是因为在new Dialog(context);的时候传入的context是通过getApplicationContext()获得的,这样就会报错. 把context的获得方式改为MainActiv ...

  8. .NET设计模式(17):命令模式(Command Pattern)(转)

    概述 在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”.但在某些场合,比如要对行为进行“记录.撤销/重做.事务”等处理,这种无法抵御变化的紧耦合是不合适的.在这种情况下,如何将“行为 ...

  9. Masonry自动布局

    介绍,入门: http://www.cocoachina.com/ios/20141219/10702.html 下载: http://code.cocoachina.com/detail/30114 ...

  10. [LeetNode]Sort List

    Sort a linked list in O(n log n) time using constant space complexity. 思路:分治+递归. /** * Definition fo ...