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. COS中访问文件的三种方式

    1.通过FID来访问文件(比如EF,DF) 2.通过SFI来访问文件(有些COS命令可以通过SFI来快速访问文件,而不需要事先选中文件) 3.通过文件名来访问文件(只能是DF文件)

  2. 关于四则运算的代码debug测试

    1.首先检测题目是否能为负数,0? 截图: 总结:如图所示出题数目为0的时候,并没提示重新输入,而是输出空白,而当输出题目为负数的时候系统提示错误,并且提示终止 2.检测操作值得范围:   总结:当操 ...

  3. 设计模式之观察者模式(Observer)

    观察者模式原理:当有新的消息产生时发送给观察者,和中介者模式的不同地方是中介者模式强调中介的作用以及中介双方的交互,观察者模式是主动调用观察者成员函数进行消息发送. 代码如下: #include &l ...

  4. idea maven添加jar包

    在“项目结构“里设置 选择libaray,添加jar包

  5. NYOJ-289 苹果 289 AC(01背包) 分类: NYOJ 2014-01-01 21:30 178人阅读 评论(0) 收藏

    #include<stdio.h> #include<string.h> #define max(x,y) x>y?x:y struct apple { int c; i ...

  6. NYOJ-655 光棍的YY AC 分类: NYOJ 2013-12-29 19:24 224人阅读 评论(0) 收藏

    #include<stdio.h> #include<string.h> char str[210]; int max[210][52]={0}; int sum(int n, ...

  7. NYOJ-289 苹果 TLE 分类: NYOJ 2013-12-29 17:52 282人阅读 评论(0) 收藏

    #include<stdio.h> struct apple{ int m; int v; }app[1010]; int money(int i,int v); int main(){ ...

  8. MongoDB 基础

    1. 安装 mongodb-win32-x86_64-2008plus-2.6.12-signed.msi,下载地址 https://www.mongodb.com/download-center#c ...

  9. 【转载】在程序中动态改变static text控件的caption值

    方法1,给STATIC控件取个名字叫IDC_STATICTITLE 然后在ClassWizard中设定一个控件变量给它叫m_statictitle 然后用m_statictitle.SetWindow ...

  10. Game shader or System shader is busy ::VS CSG

    this error means The GPU is freezen Phyre::PSemaphoreOrbis::wait()//callstack something illegal in c ...