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. hadoop之JobTracker功能分析

    JobTracker是整个MapReduce计算框架中的主服务,相当于集群的“管理者”,负责整个集群的作业控制和资源管理.本文对JobTracker的启动过程及心跳接收与应答两个主要功能进行分析. 1 ...

  2. android开发 解决启动页空白或黑屏问题

    遇到的情况: app启动时进入启动页时出现白屏页,然后大概一秒之后就出现了背景图片. 原因:app启动时加载的是windows背景,之后再加载布局文件的,所以开始的黑屏/白屏就是windows的背景颜 ...

  3. 关于ThreadLocal

    ThreadLocal是用于并发环境下避免竞争,简化编程的机制,它在并发环境下提供了一个逻辑上全局的访问点,来访问线程本地对象. 其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个T ...

  4. JavaScript的DOM操作(2)

    补充:   回车符\r和换行符\n的区别:\r 相当于enter,是段落与段落之间的区别, \n 相当于shift+enter,是行与行之间距离,比较小 几种window操作方法: 1.获取当前窗口大 ...

  5. 01.Apache FtpServer配置

    1.解压Apache FTPServer 将下载下来的压缩包(ftpserver-1.0.6.zip)解压到本地,其目录结构如下图: 2.修改users.properties 修改 \apache-f ...

  6. 【HDOJ】【2829】Lawrence

    DP/四边形不等式 做过POJ 1739 邮局那道题后就很容易写出动规方程: dp[i][j]=min{dp[i-1][k]+w[k+1][j]}(表示前 j 个点分成 i 块的最小代价) $w(l, ...

  7. 【BZOJ】【2084】【POI2010】Antisymmetry

    Manacher算法 啊……Manacher修改一下就好啦~蛮水的…… Manacher原本是找首尾相同的子串,即回文串,我们这里是要找对应位置不同的“反回文串”(反对称?233) 长度为奇数的肯定不 ...

  8. 【BZOJ】【2668】【CQOI2012】交换棋子

    网络流/费用流 跪跪跪,居然还可以这样建图…… 题解:http://www.cnblogs.com/zig-zag/archive/2013/04/21/3033485.html 考虑每个点的交换限制 ...

  9. mysql查看连接数和状态,设置连接数和超时时间

    1.mysql> show status like '%connect%'; Connections,试图连接到(不管是否成功)MySQL服务器的连接数.   Max_used_connecti ...

  10. samba 常见问题

    今天帮一个朋友搭建samba服务器,发现总是无法正常访问,最后google+摸索搞定了,下面把遇到的问题和解决方法共享一下. 这里用的linux是centos版本6. 一开始遇到的问题是‘找不到网络路 ...