IOS-源代码管理工具(Git)
一、简介
在Mac上,比较好用的git图形界面客户端有
. GIT简介(PPT)
================================================================================ . GIT命令行帮助
================================================================================
$ svn help
查看svn所有命令的帮助
$ svn help 子命令 # 要退出帮助信息,按"q"
# 翻看下页,按"空格"
# 翻看上页,按"CTRL+B"
# 要搜索相关文字,按"/"然后输入"相关文字" . 创建代码库 & 配置个人信息
================================================================================
> 创建代码仓库
$ git init > 配置用户名和邮箱
$ git config user.name lnj
$ git config user.email lnj@gmail.com * 以上两个命令会将用户信息保存在当前代码仓库中 # 只有配置了用户和邮箱之后,git才能识别出操作的人员信息,通过钩子(hooks)程序可以设置一些动作
# 例如单元测试发现问题后,自动给相关人员发送电子邮件
* 注意 暂时不建议投入一毛钱精力 > 如果要一次性配置完成可以使用一下命令
$ git config --global user.name lnj
$ git config --global user.email lnj321@gmail.com * 以上两个命令会将用户信息保存在用户目录下的 .gitconfig 文件中 > 查看当前所有配置
$ git config -l . 实际开发
================================================================================
> 创建代码,开始开发
$ touch main.c
$ open main.c > 将代码添加到代码库
# 查看当前代码库状态
$ git status
# 将文件添加到代码库
$ git add main.c
# 将修改提交到代码库
$ git commit -m "添加了main.c" 提示:
* 在此一定要使用 -m 参数指定修改的备注信息
* 否则会进入 vim 编辑器,如果对vim不熟悉,会是很糟糕的事情 # 将当前文件夹下的所有新建或修改的文件一次性添加到代码库
$ git add . > 添加多个文件
$ touch Person.h Person.m
$ git add .
$ git commit -m "添加了Person类"
$ open Person.h
$ git add .
$ git commit -m "增加Person类属性" * 注意 使用git时,每一次修改都需要添加再提交,这一点是与svn不一样的 git 的重要概念及工作原理
--------------------------------------------------------------------------------
工作区
暂存区(staged)
分支(HEAD) . 别名 & 日志
================================================================================
$ git config alias.st status
$ git config alias.ci "commit -m" 个人建议:除非特殊原因,最好不要设置别名,否则换一台机器就不会用了 # 查看所有版本库日志
$ git log
# 查看指定文件的版本库日志
$ git log 文件名 # 配置带颜色的log别名
$ 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" 提示:在git中,版本号是一个由SHA1生成的哈希值 . 版本号,让我们在任意版本之间穿梭
================================================================================
# 回到当前版本,放弃所有没有提交的修改
$ git reset --hard HEAD
# 回到上一个版本
$ git reset --hard HEAD^
# 回到之前第3个修订版本
$ git reset --hard HEAD~()
# 回到指定版本号的版本
$ git reset e695b67 # 查看分支引用记录
$ git reflog . 单个文件的修改管理
================================================================================
# 查看文件变化
$ git diff
# 撤销对文件做的修改
$ git checkout Person.h
# 从代码库(暂存区中删除文件)
. 建立代码仓库(专门用于团队开发的代码仓库)
================================================================================ # 切换目录
$ cd /Users/lnj/Desktop/git演练/公司/weibo
# 建立空白代码库(专门用于团队开发)
$ git init --bare . 项目经理准备项目(前奏)
================================================================================ # 切换目录
$ cd /Users/lnj/Desktop/git演练/经理
# "克隆"代码库到本地
$ git clone /Users/lnj/Desktop/git演练/公司/weibo/ # 个人信息配置(因为要演示一台机器上的多人协作,日常开发可以忽略)
$ git config user.name manager
$ git config user.email manager@.com .gitignore
--------------------------------------------------------------------------------
.gitignore可以指定哪些文件不纳入版本库的管理 参考网址:https://github.com/github/gitignore # 命令行中进入与.git同级的目录
$ cd /Users/lnj/Desktop/git演练/经理/weibo 将以下命令一次性粘贴到命令行中
--------------------------------------------------------------------------------
echo -e "# Xcode
#
build/
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
#
# Pods/" > .gitignore
--------------------------------------------------------------------------------
# 将.gitignore添加到代码库
$ git add .gitignore . 创建项目
================================================================================
提交同时"push"到远程代码仓库 . 新人加入
================================================================================ ... . 分布式的代码库 - 仅供参考
================================================================================
由于git是分布式的,任何一台计算机上都保留有完整的代码库的内容,因此可以把团队开发的代码库放在任何位置 多个远程代码库之间的同步演练"提示,此演练仅供了解,具体的使用,需要一定的团队规模之后,才能够体会" . 分支管理 - Tag
================================================================================
# 查看当前标签
$ git tag
# 在本地代码库给项目打上一个标签
$ git tag -a v1. -m 'Version 1.0'
# 将标签添推送到远程代码库中
$ git push origin v1. # 使用tag,就能够将项目快速切换到某一个中间状态,例如产品开发线上的某一个稳定版本
# 签出v1.0标签
$ git checkout v1.
# 从签出状态创建v1.0bugfix分支
$ git checkout -b bugfix1. # 查看远程分支
$ git branch -r
# 删除远程分支
$ git branch -r -d origin/bugfix1.
. 分布式的代码库 - 仅供参考
================================================================================
由于git是分布式的,任何一台计算机上都保留有完整的代码库的内容,因此可以把团队开发的代码库放在任何位置 多个远程代码库之间的同步演练"提示,此演练仅供了解,具体的使用,需要一定的团队规模之后,才能够体会" . 分支管理 - Tag
================================================================================
# 查看当前标签
$ git tag
# 在本地代码库给项目打上一个标签
$ git tag -a v1. -m 'Version 1.0'
# 将标签添推送到远程代码库中
$ git push origin v1. # 使用tag,就能够将项目快速切换到某一个中间状态,例如产品开发线上的某一个稳定版本
# 签出v1.0标签
$ git checkout v1.
# 从签出状态创建v1.0bugfix分支
$ git checkout -b bugfix1. # 查看远程分支
$ git branch -r
# 删除远程分支
$ git branch -r -d origin/bugfix1.
如何使用/学习第三方框架? 优秀的第三方框架都在 github.com > 搜索
> git clone 获得完整版本
$ git clone https://github.com/AFNetworking/AFNetworking.git
> 获取最新版本 git pull
* 进入clone的本地文件夹
$ git pull > 看github上的文档,优秀的第三方框架都有好的文档
> 编写测试程序,看运行结果
> 针对感兴趣的部分,看源代码 > 有问题去http://stackoverflow.com
IOS-源代码管理工具(Git)的更多相关文章
- iOS核心笔记—源代码管理工具-GIT
源代码管理工具-GIT 一. git 概述 1. git 简介? 什么是git? > git是一款开源的分布式版本控制工具 > 在世界上所有的分布式版本控制工具中,git是最快.最简单.最 ...
- 源代码管理工具-GIT
源代码管理工具-GIT ---- 一. 掌握 - git 概述 1. git 简介? 什么是git? git是一款开源的分布式版本控制工具在世界上所有的分布式版本控制工具中,git是最快.最简单.最流 ...
- iOS源代码管理工具
源代码管理工具简介 1.为什么会出现源代码管理工具? 为了解决在软件开发过程中,由源代码引发的各种蛋疼.繁琐的问题 2.源代码管理不当可能会引起的后果? 无法后悔:做错了一个操作后,不能回到之前的操作 ...
- 源代码管理工具GIT
01.GIT简介 svn是集中式的源代码管理工具,必须联网才能操作 git是分布式的. 有两中:一个是本地代码仓库,一个是远程代码仓库 分布式源代码管理工具 02.GIT - 本地代码仓库使用流程 1 ...
- iOS 源代码管理工具之SVN
源代码管理工具之SVN 源代码管理工具SVN是一款非常强大的源代码管理工具,现在国内70%-90%的公司都在使用SVN来管理源代码,下面就让小编给大家着重介绍一下SVN的使用,SVN的使用主要分为下面 ...
- 83、源代码管理工具(Git)
一.简介 git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git起源 作者是Linux之父:Linus Benedict Torvalds 当 ...
- 源代码管理工具 ——Git的介绍与简要教程
一.Github与Git (一)简介 GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub. GitHub于2008年4月10日正式上线 ...
- Git 源代码管理工具
Git 源代码管理工具 Git基本信息 Git :Git是一个“分布式”的版本控制工具 Git的作者是Linux之父 Linus Benedict Torvolds,当初开发Git仅仅是为了辅助Lin ...
- [Tool] 源代码管理之Git
本节目录 什么是Git 什么是GitHub 安装Git GitHub之Repository GitHub之托管页面 常用Git 命令 什么是Git 由于现在的开发多人协同办公,因此出现源代码管理工具 ...
- iOS核心笔记—源代码管理工具-SVN
源代码管理工具-SVN 一. 源代码管理工具概述 1. 源代码管理工具的作用? > 能追踪一个项目从诞生一直到定案的过程 > 记录一个项目的所有内容变化,无限制返回 > 查看特定版本 ...
随机推荐
- HTML5游戏开发系列教程6(译)
原文地址:http://www.script-tutorials.com/html5-game-development-lesson-6/ 这是我们最新一篇HTML5游戏开发系列文章.我们将继续使用c ...
- beego——发行部署
开发模式 通过bee创建的项目,beego默认情况下是开发模式. 我们可以通过如下的方式改变我们的模式: beego.RunMode = "prod" 或者我们在conf/app. ...
- python全栈开发从入门到放弃之初识面向对象
面向过程 VS 面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程序的复 ...
- jQuery动态效果学习笔记
资料来源 W3Cschool 1.元素的显示与隐藏 1.1显示元素show() 语法 $(selector).show(speed,callback); 显示已经设置隐藏的元素 1.2隐藏元素hide ...
- PKU 1573 Robot Motion(简单模拟)
原题大意:原题链接 给出一个矩阵(矩阵中的元素均为方向英文字母),和人的初始位置,问是否能根据这些英文字母走出矩阵.(因为有可能形成环而走不出去) 此题虽然属于水题,但是完全独立完成而且直接1A还是很 ...
- PKU 3169 Layout(差分约束系统+Bellman Ford)
题目大意:原题链接 当排队等候喂食时,奶牛喜欢和它们的朋友站得靠近些.FJ有N(2<=N<=1000)头奶牛,编号从1到N,沿一条直线站着等候喂食.奶牛排在队伍中的顺序和它们的编号是相同的 ...
- TOSCA自动化测试工具ppt(正在整理)
1. 认识TOSCA 安装使用 2. TOSCA自动化测试工具的优点 1). 可扩展 Tosca Commander™ functionalities can be extended by us ...
- 如何高效的遍历HashMap 以及对key 进行排序
Map<Integer ,Object> map = new HashMap<Integer,Object>(); for(int i = 0; i<=100;i++){ ...
- 屏蔽信号的多路选择I/O
前边提到了多路I/O的方法,这一章屏蔽信号的多路选择与之前的多路I/O一致,只是增加了屏蔽信号的作用.多路选择I/O中我们使用的是select函数,屏蔽信号的多路选择I/O使用的是pselect函数, ...
- saltstack之haproxy的安装配置
使用saltstack编译安装haproxy: 由于编译安装haproxy,所以安装之前需要建立编译环境,将编译环境需要安装的包单独放置在一个目录中,当编译haproxy或其他时,直接include这 ...