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. android数独游戏

    最近没事干,照着视频教程写了一个数独游戏,很粗糙还有很多要修改的地方.下面就来说说这个游戏吧 1.自定义一个View控件,用来在屏幕上显示一个9*9的格子,其实就是横着画8条线,竖着画8跳线,然后将其 ...

  2. C++(MFC)编程中遇到的的一些函数

    memset void memset( void dest, int c, size_t count ); dest: Pointer to destination c: Character to s ...

  3. UIKit 框架之UISearchController

    // // tableViewController.m // searchController // // Created by City--Online on 15/6/1. // Copyrigh ...

  4. SQL Server性能优化(1)使用SET函数

    在一切开始之前,先看下微软的建议:在系统的整体性能优化里面, TSQL优化优先级并不是最高的. 本文包括四部分: SET STATISTICS TIME ON SET STATISTICS IO SE ...

  5. Google Guava学习笔记——基础工具类Joiner的使用

    Guava 中有一些基础的工具类,如下所列: 1,Joiner 类:根据给定的分隔符把字符串连接到一起.MapJoiner 执行相同的操作,但是针对 Map 的 key 和 value. 2,Spli ...

  6. 【Django】Django命令(Manager.py)

    django-admin.py startproject mysite 该命令在当前目录创建一个 mysite 目录. django-admin.py这个文件在C:\Python27\Lib\site ...

  7. 【Ubuntu】NAT配置

    1.简介 2.配置 1.简介 NAT(Network Address Translation,网络地址转换)是将IP 数据包头中的IP 地址转换为另一个IP 地址的过程.在实际应用中,NAT 主要用于 ...

  8. NYOJ-73 比大小 AC 分类: NYOJ 2014-01-17 21:29 195人阅读 评论(0) 收藏

    典型的大数题目,这只是大数的比较,到时还有大数加减乘除,更加还有乘方,对于大数,一般用数组或者字符串,因为其他的结构类型一般都没有那么大 的范围!! 这道题目需要你仔细回想怎么比较俩个数字的大小,考虑 ...

  9. while小问题

    while(!m_SMque.pop(data)); 看到这个有点忘了,如果pop返回false会一直执行pop,其实这个执行的是空语句,而while每次执行都需要判断条件,所以如果pop返回fals ...

  10. 使用开关、分段控件和web视图

    #import "XViewController.h" @interface XViewController () @end @implementation XViewContro ...