ios xocde git使用

02. GIT命令行帮助

================================================================================

$ svn help

查看svn所有命令的帮助

$ svn help 子命令

# 要退出帮助信息,按"q"

# 翻看下页,按"空格"

# 翻看上页,按"CTRL+B"

# 要搜索相关文字,按"/"然后输入"相关文字"

03. 创建代码库 & 配置个人信息

================================================================================

1>  创建代码仓库

$ git init

2>  配置用户名和邮箱

$ git config user.name aa

$ git config user.email [email protected]

* 以上两个命令会将用户信息保存在当前代码仓库中

# 只有配置了用户和邮箱之后,git才能识别出操作的人员信息,通过钩子(hooks)程序可以设置一些动作

# 例如单元测试发现问题后,自动给相关人员发送电子邮件

3>  如果要一次性配置完成可以使用一下命令

$ git config --global user.name aa

$ git config --global user.email [email protected]

* 以上两个命令会将用户信息保存在用户目录下的 .gitconfig 文件中

4>  查看当前所有配置

$ git config -l

04. 实际开发

================================================================================

1>  创建代码,开始开发

$ touch main.c

$ open main.c

2>  将代码添加到代码库

# 查看当前代码库状态

$ git status

# 将文件添加到代码库

$ git add main.c

# 将修改提交到代码库

$ git commit -m "添加了main.c"

提示:

*   在此一定要使用 -m 参数指定修改的备注信息

*   否则会进入 vim 编辑器,如果对vim不熟悉,会是很糟糕的事情

# 将当前文件夹下的所有新建或修改的文件一次性添加到代码库

$ git add .

3>  添加多个文件

$ 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)

05. 别名 & 日志

================================================================================

$ 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生成的哈希值

06. 版本号,让我们在任意版本之间穿梭

================================================================================

# 回到当前版本,放弃所有没有提交的修改

$ git reset --hard HEAD

# 回到上一个版本

$ git reset --hard HEAD^

# 回到之前第3个修订版本

$ git reset --hard HEAD~(3)

# 回到指定版本号的版本

$ git reset e695b67

# 查看分支引用记录

$ git reflog

07. 单个文件的修改管理

================================================================================

# 查看文件变化

$ git diff

# 撤销对文件做的修改

$ git checkout Person.h

# 从代码库(暂存区中删除文件)

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

01. 建立代码仓库(专门用于团队开发的代码仓库)

================================================================================

# 切换目录

$ cd /Users/aa/Desktop/git演练/公司/weibo

# 建立空白代码库(专门用于团队开发)

$ git init --bare

02. 项目经理准备项目(前奏)

================================================================================

# 切换目录

$ cd /Users/aa/Desktop/git演练/经理

# "克隆"代码库到本地

$ git clone /Users/aa/Desktop/git演练/公司/weibo/

# 个人信息配置(因为要演示一台机器上的多人协作,日常开发可以忽略)

$ git config user.name manager

$ git config user.email [email protected]

.gitignore

--------------------------------------------------------------------------------

.gitignore可以指定哪些文件不纳入版本库的管理

参考网址:https://github.com/github/gitignore

# 命令行中进入与.git同级的目录

$ cd /Users/aa/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

03. 创建项目

================================================================================

提交同时"push"到远程代码仓库

04. 新人加入

================================================================================

05. 分布式的代码库 - 仅供参考

================================================================================

由于git是分布式的,任何一台计算机上都保留有完整的代码库的内容,因此可以把团队开发的代码库放在任何位置

多个远程代码库之间的同步演练"提示,此演练仅供了解,具体的使用,需要一定的团队规模之后,才能够体会"

06. 分支管理 - Tag

================================================================================

# 查看当前标签

$ git tag

# 在本地代码库给项目打上一个标签

$ git tag -a v1.0 -m ‘Version 1.0‘

# 将标签添推送到远程代码库中

$ git push origin v1.0

# 使用tag,就能够将项目快速切换到某一个中间状态,例如产品开发线上的某一个稳定版本

# 签出v1.0标签

$ git checkout v1.0

# 从签出状态创建v1.0bugfix分支

$ git checkout -b bugfix1.0

# 查看远程分支

$ git branch -r

# 删除远程分支

$ git branch -r -d origin/bugfix1.0

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

01. 分布式的代码库 - 仅供参考

================================================================================

由于git是分布式的,任何一台计算机上都保留有完整的代码库的内容,因此可以把团队开发的代码库放在任何位置

多个远程代码库之间的同步演练"提示,此演练仅供了解,具体的使用,需要一定的团队规模之后,才能够体会"

02. 分支管理 - Tag

================================================================================

# 查看当前标签

$ git tag

# 在本地代码库给项目打上一个标签

$ git tag -a v1.0 -m ‘Version 1.0‘

# 将标签添推送到远程代码库中

$ git push origin v1.0

# 使用tag,就能够将项目快速切换到某一个中间状态,例如产品开发线上的某一个稳定版本

# 签出v1.0标签

$ git checkout v1.0

# 从签出状态创建v1.0bugfix分支

$ git checkout -b bugfix1.0

# 查看远程分支

$ git branch -r

# 删除远程分支

$ git branch -r -d origin/bugfix1.0

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

将Xcode项目与GITHUB连接的操作步骤

cd ~/.ssh

# 生成rsa密钥,密钥秘钥:123456

ssh-keygen -t rsa -C "[email protected]”

# 将密钥文件复制到剪贴板

pbcopy < ~/.ssh/myname_rsakey.pub

# 进入github,设置ssh密钥

# 1. Edit Profile

# 2. SSH Keys

# 3. Add SSH Key

# 4. 将刚刚复制的Key粘贴,然后提交

# 添加rsa密钥

ssh-add myname_rsakey

# 测试github连接

ssh -T [email protected]

# 关联项目

cd 项目文件夹/

# 为当前文件夹初始化git

git init

# 添加远程服务器

git remote add origin [email protected]:liufan321/HelloWorldDemo.git

# 从服务器拉项目

git pull -u origin master

# 将项目内容推送到服务器

git push -u origin master

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1. git init --bare shared.git

创建空的版本库

2. git clone ~/Desktop/gitdemo/repository/shared.git/

从版本库将代码克隆到工作目录

3. git add .

将所有修改过的文件添加到暂存区

4. git commit -m "修改的信息"

将文件提交到本地代码仓库

5. git push origin master

将本地代码仓库中的修改推送到远程(origin)代码仓库的master分支

6. git pull

从远程代码仓库将最新的内容拉到本地代码库

7. git status

查看本地代码仓库的文件状态

*** 要在Xcode中要使用.git进行团队开发必须设置.gitignore文件

说明:.gitignore文件用于指定在提交文件是忽略哪些文件或文件夹

具体操作步骤如下:

1>

# 从缓存区中删除UserInterfaceState.xcuserstate文件

git rm --cached MyDemo/MyDemo.xcodeproj/project.xcworkspace/xcuserdata/aplle.xcuserdatad/UserInterfaceState.xcuserstate

或者

# 强制删除UserInterfaceState.xcuserstate文件

git rm -f MyDemo/MyDemo.xcodeproj/project.xcworkspace/xcuserdata/aplle.xcuserdatad/UserInterfaceState.xcuserstate

2> vim .gitignore

并粘贴

project.xcworkspace

:wq保存退出

创建上述.gitignore文件后会忽略project.xcworkspace目录中的所有文件,包括界面记录、断点记录等信息

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

GIT 分支演练笔记

1. 创建空代码库,代码库的名称为 shared.git

================================================================================

git init --bare shared.git

2. 准备代码

================================================================================

1> 克隆代码库

git clone ~/Desktop/gitdemo/repository/shared.git/

2> 配置当前代码库的用户信息(如果已经配置过全局用户属性,此步骤可以忽略)

# 进入shared工作目录

cd shared

# 配置用户名

git config user.name manager

# 配置用户邮箱

git config user.email [email protected]

3> 打开Xcode创建项目并保存在shared目录中

4> 忽略不必要的用户数据文件

# 查看当前状态,以便选择用户文件

git stauts

# 具体的目录名称根据项目所在位置决定,需要注意末尾的文件名是:UserInterfaceState.xcuserstate

git rm -f IWeibo/IWeibo.xcodeproj/project.xcworkspace/xcuserdata/liufan.xcuserdatad/UserInterfaceState.xcuserstate

# 生成.gitignore文件

echo "project.xcworkspace" > .gitignore

# 将.gitignore文件添加到暂存区

git add .

# 将所有修改提交到本地代码库

git commit -m "new project"

5> 用Xcode打开项目,调整代码,并将调整后的代码,提交到本地代码库

说明,如果勾选“Push To Remote”,点击Commit按钮时会执行以下三个操作

(1) 将修改后的文件添加到暂存区

(2) 将暂存区中的文件提交到本地代码库

(3) 将本地代码库的内容提交到远程代码库

6> 在Xcode中,创建developer分支,供开发时使用

注意:新建分支之后,需要使用push功能,将改分支推送到远程代码库,否则该分支只能在用户本地可见

3. V1.0开发

================================================================================

1>  User01在developer分支上开发并提交代码

2>  当V1.0开发完成后,经理将developer分支上的代码合并到master分支上

3>  经理切换回master分支,并在命令行中增加标签

# 在当前时间点增加v1.0的标签

git tag -a v1.0 -m "Version 1.0"

# 将v1.0的标签推送到远程代码库

git push origin v1.0

# 查看本地标签

git tag

# 查看本地分支

git branch

# 查看所有分支

git branch -a

4> 经理将当前v1.0版本进行发布

4. V2.0开发中的修改V1.0的Bug

================================================================================

1> 经理在master分支中创建v1.0bugfix分支,并通知User01进行修改

2> 正在开发中的User01接收到修复Bug的工作命令后,停止手头工作,并将当前代码提交至服务器

3> 直接切换到v1.0bugfix分支,对V1.0的bug进行修订,修改完成后,提交代码

4> 经理审核代码通过后,将修改后的代码整合到master主线上

5> 经理增加v1.1的标签

# 在当前时间点增加v1.0的标签

git tag -a v1.1 -m "Version 1.0"

# 将v1.0的标签推送到远程代码库

git push origin v1.1

# 删除远程分支

git push origin --delete V1.0bug_fix

6> User01将修改后的代码整合到developer主线上,并且开始后续工作

5. Tag的作用

================================================================================

在GIT中,可以在任意需要的时间点,在分支上打上标签,而在其他任何需要的时候,将代码切换回该时间点的状态

# 签出v1.0标签

git checkout v1.0

# 将该标签时刻的代码建立一个分支

git checkout -b v1.0branch

# 删除远程标签

git push origin --delete tag <tagname>

# 删除本地标签

git tag -d <tagname>

时间: 2024-10-06 23:59:34

ios xocde git使用的相关文章

object-c iOS 教程 git for mac

本文转载至 http://blog.csdn.net/u011728347/article/details/10035191 http://rypress.com/tutorials/objective-c/index.html (Object-C 教程) http://www.raywenderlich.com/tutorials(各种关于ios的教程) http://prezi.com/8grtj26bnju4/present/?auth_key=7ipi4c3&follow=rf758vb

iOS 创建Git 提交到GitHub 简明讲解配步骤图

本文主要讲解下面四点,可以满足大部分开发新手老手的需要,欢迎讨论反馈! 一.创建项目时,勾选git来创建项目Git源 二.创建项目时,未勾选git的项目,创建Git源 三.第一次提交gitHub,创建代码仓库 四.本地有git源项目,提交到gitHub仓库 参考文章: 在Xcode中使用Git进行源码版本控制 使用Xcode上传代码至GitHub 一.创建项目时,就勾选了git的项目 在创建工程的最后一步Xcode会有一个复选框,如果选择了它,git源就会被添加到工程目录中. 1.打开Xcode

iOS开发:(git项目托管)的使用

git托管网站是一个非常强大的网站,通过这个网站我们可以讲自己写出来的优秀的代码发布在这个网站上,通过这个网站我们可以对自己的代码进行推送,版本更新.好了,不多说了,我要总结一下git的使用流程. 1.登陆开源中国社区网站http://www.oschina.net 2.如果有账号和密码就可以登录,没有的话就先注册一个账号和密码 3.注册新用户成功后,下一步 4.现在需要做的就是登陆你的邮箱,激活账号,激活之后就可以登录了 5.登陆成功之后你可以完善你的资料,做下一步的工作了. 6.新建一个项目

iOS中Git的使用

打开终端: 查看Git的版本的终端命令:git —version 输入:ssh 查看是否已经存在ssh. 如果存在,先将已有的ssh备份,或者将新建的ssh生成到另外的目录下 如果不存在,通过默认的参数直接生成ssh 生成过程如下: ssh-keygen -t rsa -C [email protected](注册Github时的email) 在github中添加ssh(如图示:) 登录github,选择Account Settings—>SSH Keys添加ssh Title:邮箱 Key:打

iOS版本控制git小结--yoowei

一:准备工作 1.什么是git? git是一款开源的分布式版本控制工具. 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的. 2.git和SVN的简单对比 速度 在很多情况下,git的速度远远比SVN快 结构 SVN是集中式管理,git是分布式管理.分布式和集中式的最大区别在于:在分布式下开发者可以本地提交,每个开发者机器上都有一个服务器的数据库. 其他 SVN使用分支比较笨拙,git可以轻松拥有无限个分支 SVN必须联网才能正常工作,git支持本地版本控制工作 旧版本的SVN

IOS 删除git中的submodules 以sourceTree为例

1.首先删除submodule的条目  选中要删除的子目录 右键删除,删除之后, 该子模块消失. 然后查看 .gitmodules 发现删除了里面的 [submodule "IphoneApp/submodules/ProjectName"] path = IphoneApp/submodules/ProjectName url = [email protected]:dizhi/ProjectName.git 同时 项目中的  例如 IphoneApp/submodules/Proj

iOS之Git的使用

1.登录Git账号,创建一个新的仓库 2.此处勾选,会自动生成README.md文件,把这个文件放进后边你需要上传的工程里面的空文件夹里,可以保证你的空文件夹也上传到Git,否则不会上传,切记!!! 3.接下来就是复制仓库在Git的地址,打开SourceTree软件, 4.把README.md文件拷贝到本地仓库中的工程目录下的空文件夹里面,就可以上传PUSH整个工程了,这时空文件夹也会上传, 5.添加好友,让好友也有权限对这个Git仓库进行操作, 6,把这个地址发给好友,好友点击接受就会拥有权限

iOS - 获取 Git 仓库(分布式版本控制系统)

1.在现有目录中初始化仓库 如果你打算使用 Git 来对现有的项目进行管理,你只需要进入该项目目录并输入以下命令. # 初始化仓库 $ git init 该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干. 但是,在这个时候,我们仅仅是做了一个初始化的操作,你的项目里的文件还没有被跟踪. 如果你是在一个已经存在文件的文件夹(而不是空文件夹)中初始化 Git 仓库来进行版本控制的话,你应该开始跟踪这些文件并提交.你可通过

iOS xocde编译报错 NSObjCRuntime.h

今天遇到一个比较少见的问题,记录下来,给遇到的人解答下,错误提示如下: 大家应该知道runtime是把OC编译成底层的C,他在这里报这个错误,我们要第一想到的是我们是否改动了这个文件,如果排除了这个可能,我们还要想到是不是项目里的PCH写错了,而笔者的问题就是PCH写错了. 把pch文件修改好就编译成功了.