什么是git

(1)什么是git

》git是一个
"分布式"的版本号控制工具

》git的作者是Linux之父:Linus
Benedict Torvalds,当初开发git不过为了辅助Linux内核的开发(管理源码)

》git在国外已经非常普及,在国内已经慢慢普及了。

(2)git与
svn对照

1 ->结构:svn是"集中式"的版本号控制,git是"分布式"版本号控制

"集中式"与
"分布式"版本号控制的差别

集中式

分布式

2->速度:多数情况下git
的速度比svn


3 ->分支:svn的分支比較笨拙,git能够轻松的建立无限个分支

4 ->旧版本号的svn会在每一个文件夹下建立一个.svn,git仅仅会有根文件夹下拥有一个.git

(3)svn与
git的工作流程

》svn

1从server获取最新版本号的代码

2 写了一天的代码后,下班前把代码上传到server

/*

*上传时要先从server下载最新代码,由于有可能其他事件对代码进行了改动*然后与自己的代码整合,执行无问题再上传你的代码

 */

3第二天上班前,再次下载代码,有可能别人加班,非常晚才提交代码

4接着開始今天的代码开发,反复1234

》git

1从server获代替码(clone),我们称为克隆

2改动代码后提交到本地

3当有须要时再提交到server

(4)git的命令实战

1)帮助命令

•假设对一个命令不清楚,能够输入'git help'来了解:

2)初始化一个仓库

•仓库用来存放各个版本号的文件信息

•建立一个空的目录,命名为Weibo,如果用来存放微博项目的

•在终端切换到Weibo
文件夹下,输入'git
init'命令

•在终端输入'defaults write
com.apple.finder AppleShowAllFiles Yes && killall Finder' 看到

Weibo 下有个.git的隐藏目录,这个文件很重要,没了就没有版本号控制了。

3)提交版本号信息

•在Weibo
下加入一个main.m
文件,终端输入'touch
main.m'就可以,然后加入一行文字•在终端输入以下命令,目的是将main.m
文件,提交到版本号库git

git commit -m '第一次初始化项目’

•输入上面的命令后,会有例如以下图的红色提示,这是由于提交前要把.m文件纳入版本号控制(暂缓区)

理解git的工作原理,stage就是暂缓区

•输入'git add .'把当前文件夹下的全部文件纳入版本号控制,然后再输入上面的git
commit 命令,这个我们就看到版本号提交成功了,如图

 全部新加入的文件都要加入纳入到版本号控制后才干提交

5)查看文件的状态

•在main.m
文件里再加入一行文字

•输入'git status',我们会看到一个红色的文件,这代表这个文件是被改动过的

•改动过的文件要提交前,也要把改动的文件纳入版本号控制后才干够使用commit命令

6)配置git
用户•配置username

git config "user.name"
zhangsan 用于查看谁改动了文件•配置邮箱

git config "user.email"zhangsan@itcast.cn用于多人开发,邮件通知•查看当前的配置

   cat .git/config

•再次改动文件提交后,显示改动的用户将是当前配置的

7)给config,status,commit命令
配置别名

•git config -l
查看配置

•git config alias.cfg config给
cinfig取别名

•git config
alias.ststatus
给status
取别名

•git config alias.ct"commit -m"给"commit
-m”取别名

8)配置日志格式

•git log//默认日志

•git log --pretty=oneline//显示一行日志

•git config --global alias.lg"log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset
%s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"//最美丽的日志

9)版本号回退

•恢复前一个版本号git reset --hard HEAD^•恢复前两个版本号git
reset --hard HEAD^^

•恢复前 N版本号
git reset --hard HEAD~N//N是数字•恢复指定版本号(git
lg) git reset --hard 版本•查看指令使用记录git
reflog

10)查看文件的不同•改动文件

•输入git diff
文件名称11)删除文件

•git rm 文件名称总结,无论是加入、改动、删除文件,都要选把文件纳入到版本号控制中后,才干够提交,最为安全

iOS应用笔记之git的本地使用的更多相关文章

  1. 项目管理---git----快速使用git笔记(二)------git的本地安装

    下载安装包 在使用Git前我们需要先安装 Git.Git 目前支持 Linux/Unix.Solaris.Mac和 Windows 平台上运行. Git 各平台安装包下载地址为:http://git- ...

  2. iOS核心笔记—源代码管理工具-GIT

    源代码管理工具-GIT 一. git 概述 1. git 简介? 什么是git? > git是一款开源的分布式版本控制工具 > 在世界上所有的分布式版本控制工具中,git是最快.最简单.最 ...

  3. IOS开发笔记(4)数据离线缓存与读取

    IOS开发笔记(4)数据离线缓存与读取 分类: IOS学习2012-12-06 16:30 7082人阅读 评论(0) 收藏 举报 iosiOSIOS 方法一:一般将服务器第一次返回的数据保存在沙盒里 ...

  4. Git 笔记三 Git的初步使用

    Git 笔记三 Git的初步使用 在上一篇中,学习了如何配置Git环境,这一篇,开始学习Git的初步使用.Git的初步使用还是很简单的.总体上知道git init, git clone, git ad ...

  5. IOS开发笔记 IOS如何访问通讯录

    IOS开发笔记  IOS如何访问通讯录 其实我是反对这类的需求,你说你读我的隐私,我肯定不愿意的. 幸好ios6.0 以后给了个权限控制.当打开app的时候你可以选择拒绝. 实现方法: [plain] ...

  6. iOS 学习笔记七 【博爱手把手教你使用2016年gitHub Mac客户端】

    iOS 学习笔记七 [博爱手把手教你使用gitHub客户端] 第一步:首先下载git客户端 链接:https://desktop.github.com 第二步:fork 大神的代码[这里以我的代码为例 ...

  7. iOS学习笔记31-从图册获取图片和视频

    一.从图册中获取本地图片和视频 从图册中获取文件,我们使用的是UIImagePickerController,这个类我们在之前的摄像头中使用过,这里是链接:iOS学习笔记27-摄像头,这里我们使用的是 ...

  8. iOS学习笔记22-推送通知

    一.推送通知 推送通知就是向用户推送一条信息来通知用户某件事件,可以在应用退到后台后,或者关闭后,能够通过推送一条消息通知用户某件事情,比如版本更新等等. 推送通知的常用应用场景: 一些任务管理APP ...

  9. iOS学习笔记13-网络(二)NSURLSession

    在2013年WWDC上苹果揭开了NSURLSession的面纱,将它作为NSURLConnection的继任者.现在使用最广泛的第三方网络框架:AFNetworking.SDWebImage等等都使用 ...

随机推荐

  1. 监控memcached服务

    #!/bin/bash #监控memcached服务 printf "del key\r\n" | nc 127.0.0.1 11211 &>/dev/null #使 ...

  2. PHP实时生成并下载超大数据量的EXCEL文件

    最近接到一个需求,通过选择的时间段导出对应的用户访问日志到excel中, 由于用户量较大,经常会有导出50万加数据的情况.而常用的PHPexcel包需要把所有数据拿到后才能生成excel, 在面对生成 ...

  3. Unity C# 设计模式(七)适配器模式

    定义: 将一个类的接口转换成客户希望的另一个接口.adapter模式使得原本由于接口不兼容而不能在一起的那些类可以一起工作. 示例代码: 1.类适配器 /* Class Adapter:类适配器,这里 ...

  4. JavaScript 回车键绑定登录 事件 常用键位码(keyCode)

    1.回车键绑定登录事件 $(document).keydown(function (e) { if ((e.keyCode || e.which) == 13) { //document.queryS ...

  5. Codeforces Educational Codeforces Round 8 A. Tennis Tournament

    大致题意: 网球比赛,n个參赛者,每场比赛每位选手b瓶水+裁判1瓶水,所有比赛每一个參赛者p条毛巾 每一轮比赛有2^k个人參加比赛(k为2^k<=n中k的最大值),下一轮晋级人数是本轮每场比赛的 ...

  6. Effective C++ 条款13

    以对象管理资源 资源的种类非常多,动态分配的内存.文件描写叙述器.相互排斥锁.图像界面中画刷.数据库连接.网络socket等. 资源通常是有限的.当你不用时,必须释放.不然就会造成资源浪费.更严重的情 ...

  7. POJ - 3842 An Industrial Spy dfs(水)

    题意:给你一串数字,最少一个,最多七个,问用这里面的数字能组成多少素数,不重复. 思路:之前还遍历10000000的每一个素数,结果超时,后来发现直接dfs就可以了,只是标记一下做过的数. #prag ...

  8. Scrapy请求传参

    scrapy.Request(url=url, callback=self.parse_item, meta={'item': item}, headers=headers) url: 要请求的地址 ...

  9. 喜马拉雅FM

    import requestsimport jsonstart_url ='https://www.ximalaya.com/revision/play/album?albumId=3595841&a ...

  10. 保留原先小程序名称 更改微信小程序主体

    首先给小程序开发者普及一些官方消息: 1.目前官方是不允许修改已经认证的小程序主体信息!(公众号可以修改) 2.小程序与公众号的名称是全平台唯一,即如果小程序叫‘ABC’其他小程序和公众号就不能存在‘ ...