git xcode https 仓库 上传相关资料收集

Xcode—https 方式使用git代码托管 网上整理的资料收集

(这是我网上看到最好的git 和xcode 结合的教材,适合新手,非常实用,谢谢sice!)

转载自Sice http://blog.sina.com.cn/u/2378440395



一直以来很想写点什么东西,我从大学参加培训到毕业工作这段的经历,但一直没有付诸行动,这是第一篇博客,希望以后也能继续写下去吧,不管是出于对自己知识的记录还是抱着分享结交朋友的心态都可以。

这篇博客的结构会是这样:

一.瞎扯一点

二.使用xcode创建git源

三.使用xcode中的git功能

四.连接到远程git库

五.使用终端命令行执行git命令

希望各位各取所需

一、瞎扯一点

这篇博客主要讲xcode中如何使用git以及git链接到远程仓库进行协做开发。

想必看这篇博客的时候大家都对git有一定的了解,我只会简单的说一点理论性的东西,更多的用实际操作来说明。

git的特点:

1.首先git的储存结构是这样的  编写好的代码<->本地git源<->远程git库

2.git每次只提交修改过的内容,原理很像数据库的更新日志

3.git的分支结构像是给了每个人一个独立的空间,开发的过程可以自由发挥而不用担心影响到工程,但最后合并的时候需要确保无误

4.git对于独立开发和团队开发来说,都是非常合适的版本控制工具

二、使用xcode创建git源

每次在Xcode中创建新工程的时候,都会提示开发者是否将项目作为一个本地的git源。在创建工程的最后一步Xcode会有一个复选框,如果选择了它,git源就会被添加到工程目录中。很多初学者没有发现这一点,包括之前的我,由此可见细节对成败的影响。

1.xcode中创建本地git源

​首先创建一个简单的demo

图1-创建一个demo


在选择储存位置的时候,xcode会提示是否创建本地git源​

图2-选择创建git源

创建好功能后右击功能Show in Finder进入工程文件夹可以看到一个隐藏的git源文件夹

图3-git源

如果你看不到.git目录,你需要让隐藏的文件可见。具体做法就是打开终端窗口,输入以下命令:

  1. $ defaults write com.apple.finder AppleShowAllFiles TRUE  
  2. 为了重启finder应用​,输入
  3. $ killall Finder  


这就是这个项目的本地git源保存位置

使用xcode创建一个git源就是如此简单,所以大家不用再觉得git陌生而神秘,也许你已经无意识中创建了很多个git源。

当然也有少数创建工程的时候没有勾选创建git源,而后来又想添加的情况,这里我也演示下如何使用终端创建本地git源,不需要的同学也可以直接跳过

2.终端创建本地git源

​1.cd 进入你的工程目录

$cd ​~/GitDemo

2.初始化一个空的本地git源,finder中查看所在目录就会看到.git文件夹

$ git init

3.将所在目录的所有内容添加到git源中

$ git add .​

4.将所做操作提交到本地git源

$ git commit -m 'Initial commit'​

接下来就会看到本地git源执行的改变列表,如下图

图4-终端中创建本地git源

重启xcode就会看到git源已经创建完成

图5-xcode中查看git源

点击History可以看到初始化的操作记录

  图6-history

​三、使用xcode中的git功能

​1.提交修改

首先,我对第一个视图控制器做了如下改动(这里我用的是xcode7创建的tabbar application,如果版本或者app类型有点出入都没关系,不会影响到我后面进行的操作)

然后,工程的左边目录中,我修改的文件出现了m的标志,表示这个文件被修改过了,大家是不是很熟悉

​我们提交个更改,点击 source control ->commit,会弹出如下对话框

 

1我们提交的修改文件;

2两个窗口代表修改后的内容和修改前的内容;

4表示当前版本号和上次提交的标识符 ;

3 这个提交相对于git源中的改变;

5是本次提交的备注(频繁提交时,书写有意义的描述非常重要);

6这次修改是否推送到远程git库(后面会讲)


另外需要说明的是,点击小箭头会出现这样的下拉框,如果选择Don’t Commit这个选项,小对勾就会被一个停止标志取代,这项更改就不会被保存到源中。

如果你选择了Discard Change这个选项,会弹出一个确认窗口,提示你所做的更改会被恢复,并且无法取消这个操作。

如果你点击了Revert按钮,所选区域的改变就会消失,就像他们从未出现过一样。

再次查看history就能看到这次的修改​

另外看一下Project Navigator,FirstViewController 后面的m已经消失了


现在,大家创建一个TestClass文件,并commit,观察下新建一个文件与修改一个文件有何不同

​最后的history差不多是这样。

2.版本间的比较

点击工具栏上的Version Editor按钮​,或者从这里进入View>Version Editor>Show version editor

在下方窗口选择要比较的两个版本,

选择合适的提交节点,就能直观的看到两个版本之间的改变,当然,初始化的文件看不到改变

你会看到两个版本对比内容的中间同意有灰色的下拉框按钮,有discard change选项,

如果你点击了这个按钮,xcode会跳出选择框提示是否忽略这个更改,如果你同意了,这些忽略的内容就会消失,并且无法被找回,所以最好不要无意中忽略​掉代码。

另外,中轴下面的时钟标识,可以直接拖动对比,效果大致相同。

点击Version Editor的下拉按钮,选择blame可以查看编写日志,哪个模块是谁提交的,一目了然

​log里面是什么,大家可以自己看看-_-;

3.分支​

​试想一下,你现在的工程有一个即将发布的版本,或是已经发布的版本,你突然想添加一些新的特性,如何防止这些新添加的代码让整个项目陷入瘫痪呢?答案很简单:你需要使用分支。

分支是git最有魅力的地方之一,你在没有用git之前,要添加一个没有用过的功能,为了避免出现大错误不可挽回,会复制一个工程文件来操作吧?我遇到我之前的同事就是这样管理版本的。而用git创建分支,就相当与从当前的工程克隆一个复制体出来,你可以随意更改,若是弄错了,也随意回滚,不会影响原有工程分支,实在崩溃了,你还可以删除这个分支,不会对原分支造成任何影响​(也有很少时候例外);当你这个功能完善后,合并入原有分支,即可。

实际上git中有一个默认分支,叫做master,看过fate的人应该对这个词不陌生,不过这里可以理解为主干的意思。关于master,你必须记住以下两点:

1. 提交到App Store或客户的最终产品必须是项目中的master分支项目。
2. 任何在第二分支中实现的代码或者功能最终都必须合并到master分支,这样正式发布的应用程序才是完整的。(以后再讲这一点)

现在让我们回到Xcode,要创建一个分支,点击Source Control > GitDemo-master > New Brance…这个菜单,然后会弹出如下菜单:

我起的名字是AnotherBranch,这个名字按你的爱好来,取什么都无所谓,点击create一个分支就建立好了

要想知道当前的分支是哪一个,点击Source Control就可以看到

现在,让我们做一次新的分支的提交。在这之前,让我们添加一些新的代码。打开类文件,在私有属性区添加以下方法声明:

​然后commit提交

最后,切换到另一个分支,或是master分支,你可以点击Source Control > GitDemo –AnotherBranch > Switch to Branch…菜单​

​切换回来后,我们对分支进行合并

Source Control > GitDemo – master > Merge From Branch…菜单,选择AnotherBranch然后点击Merge按钮

合并之前,需要提交所有的更改才行

接下来会出现一个比较窗口,在里面你会看到合并之后代码的更改,看一眼,感觉差不多了就再点击Merge按钮。

当然,也会有冲突的情况,你就需要找到那个冲突的点,为其指配合并的规则(冲突点的文件后会有红色的C)

好了,你已经学会了git的基本用法了

四、连接到远程git库

​一般情况下,我们可以自己的工程托管到第三方的git库,国内一般放在oschina的git库上,也可以放到github上,当然托管的时候就要注意自己的代码如果是商业用途的,就要保密,不要公开出去。公司需要,也可以内部创建一个git仓库,连接上即可使用。远程仓库的作用也显而易见,即可随时随地下载代码查看更改,也能作为一份网络保险,保存自己的项目代码。

这里我就以oschina为例,接入一个远程仓库​

首先,进入git创建一个项目。然后进行一下步骤

第一步:成生SSH密钥

打开终端命令工具,输入命令:ssh-keygen -t rsa -C "diaosi@gmail.com"

注意ssh-keygen没有空格。屏幕输出:

Generating public/private rsa key pair.

Enter file in which to save the key (/Users/diaosi/.ssh/id_rsa):diaosi

在上方输入生成的密钥文件名,如diaosi,屏幕输出:

Enter passphrase (empty for no passphrase): 输入密码

Enter same passphrase again: 确认密码

Your identification has been saved in diaosi.

Your public key has been saved in diaosi.pub.

The key fingerprint is:

25:fd:01:00:89:98:49:bf:2e:ac:32:2e:d2:5d:bf:98 diaosi@gmail.com

The key's randomart image is:

+--[ RSA 2048]----+

| ..+ ..o...      |

|  +.. .  . .     |

|    .   . o .    |

|     .   o . .   |

|    .   S   .    |

| . .  .          |

| .o... .         |

|=....  o.        |

|*o    E ..       |

+-----------------+

屏幕提示生成密钥文件成功,保存在/Users/diaosi文件夹下。

第二步:把diaosi.pub中的内容加入git@osc

 的SSH

密钥中​

第三步:添加SSH并连接

输入命令:ssh-add ~/diaosi

~/diaosi 是刚刚生成的密钥文件路径,屏幕输出:

Enter passphrase for /Users/diaosi/diaosi:输入密码

Identity added: /Users/diaosi /diaosi (/Users/diaosi /diaosi)

输入命令ssh -T git@git.oschina.net

,屏幕输出:

The authenticity of host 'git.oschina.net

(58.215.179.44)' can't be established.

RSA key fingerprint is 14:b8:b8:0b:c2:b2:5e:ae:f2:21:f8:18:4d:3a:be:fc.

Are you sure you want to continue connecting (yes/no)? yes(输入yes),屏幕输出:

Warning: Permanently added 'git.oschina.net,58.215.179.44' (RSA) to the list of known hosts.

Welcome to Git@OSC, Sice!


第四步:设置个人信息 ​(可有可无)

$git config --global user.email "t@gmail.com"   

$git config --global  user.name   "sice"

第五步:设置项目

获取git@osc

 上的项目路径。

​输入命令:cd 项目文件夹

//添加远程仓库

输入命令:git remote add origin git@git.oschina.net:heqings/fitness.git 

输入命令:git pull -u origin master //从git@osc上拉取项目

输入命令:git push -u origin master //提交项目

这样远程git库就接入成功了,​第一次接入,需要先拉取一次,才能提交

这里一般是不会要求输入密码的,因为第三步已经通过了ssh密钥验证,如果要求输入密码,第一种情况是说明ssh密钥过期了,重复一次第三步就可以了。第二种情况是你没有这个远程库的权限,不能进行操作​

第六步:Xcode集成

在Xcode中,提交代码到git@osc前需提交到本地git,否则Xcode会提示你。

把项目提交到本地:

File->Source Control->Commit

把项目提交到git@osc:

File->Source Control->Push

五、使用终端命令行执行git命令

​通过之前的操作,想必大家对git的了解已经差不多了,使用的过程中可能会发现xcode中的git功能有很多无法满足你的地方。比如xcode中不能删除分支,不能添加tag,不能删除远程仓库等。这时,我们就可以使用终端调用git命令实现更多的git操作

具体操作是

cd 进入工程文件夹(.git所在的目录)

使用git命令即可。这里有一张git命令图,还有更多强大的操作,大家可以多去看看用用

​参考内容:

1.在Xcode中使用Git进行源码版本控制

2. git创建远程仓库

3.git常用命令图片




参考:


http://jingyan.baidu.com/article/f7ff0bfc12b52e2e27bb134c.html

http://blog.csdn.net/ocean20/article/details/38339269


http://git.oschina.net/oschina/git-osc/issues/2586


http://www.noisyguy.com/archives/1083.html

http://www.cnblogs.com/xiaofeixiang/p/4280447.html?utm_source=tuicool&utm_medium=referral
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值