注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Puriney's Notes

Puriney=purine+Y, my Wonderland

 
 
 

日志

 
 

[qwert]Xcode 5 如何理性罗列文件夹带来更好的版本控制  

2013-10-08 08:02:14|  分类: QWERT |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
[更正 2013年12月30日]楼主是SB,小伙伴们可以直接试一试添加 .gitignore

Xcode5 内设 Git 版本控制,于是可以完美与GitHub结合版本控制,这点我非常喜欢。
[qwert]Xcode 5 如何理性罗列文件夹带来更好的版本控制 - Puriney - Purineys Notes
 
但是就好像Rstudio新建project时,它会把自己嵌套在一个文件夹内。对于Rstudio,举个例子,我现在想要新建一个项目名称叫做Algorithm_A。在我的大目录Algorithm之下我已经建立好了Algorithm_A的空文件夹,等待被存储(或者很多时候已经存储了很多脚本),我实际新建时,我确实会给项目命名为Algorithm_A,同时指定在Algorithm_A文件夹。因为项目名称和文件夹名称相同,我的设想是,接下来所有Rstudio为我生成的项目内容都将会直接在Algorithm_A之下。不过实际上,它“聪明”地在Algorithm_A下新建目录Algorithm_A并存储自己,我的文件夹罗列地就像结巴了一样。

预想: 

Algorithm

|-- Algorithm_A

|-- src

|-- README

|-- Algorithm_B

|-- Algorithm_X

实际上

Algorithm

|-- Algorithm_A

|-- Algorithm_A

|-- xxx.Rproject

|-- src

|-- README

|-- Algorithm_B

|-- Algorithm_X

对于Xcode,也是一样的让人尴尬。我想,大概所有项目类的功能在我这里都用的一渣。。。

举例当我新建项目名称1Cpp1Day后,1Cpp1Day.xcodeproj可以认为是你的项目了。这里说说Xcode的目录初始建立方式:

1Cpp1Day
|--1Cpp1Day
|--main.cpp
|--1Cpp1Day.xcodeproj


紧紧结合最后上传给GitHub的效果,这里是让我最没办法接受的几个点。
  • 源代码文件夹名是项目名称。即所有源代码都会存在1Cpp1Day文件夹内。既然最后github服务器上会存储项目名称为1Cpp1Day,那又何必在项目内再用1Cpp1Day作为名字表示我存了代码。为什么不直接是src呢?
  • Xcode的工作项目1Cpp1Day.xcodeproj 文件夹会与1Cpp1Day同目录(如上表)。这点最为尴尬。因为Xcode默认建立的git,会把它的父目录作为github目录,于是最后GitHub服务器上,1Cpp1Day.xcodeproj也会被push上,这就跟.DS_Store一样。如果有人想要下载你的仓库,谁又愿意去下载这些东西呢?
  • 编译后的可执行文件,默认存储在不可见文件夹内。(好像是/User/XXX/Library/Developer/Xcode里。

针对这些,我建议这样一步一步走:
  • 新建项目1Cpp1Day
  • 1Cpp1Day文件夹 内 1Cpp1Day.xcodeproj 剪切与1Cpp1Day文件夹同等级,避免1Cpp1Day.xcodeproj也被git push上
  • 1Cpp1Day文件夹内新建src文件夹存所有源代码、新建bin存所有编译后的可执行文件
  • 删除1Cpp1Day文件夹内初始建立的main.cpp和临时压缩文件
  • 在Xcode Preferece -> Location 内选择为Relative 相对路径。以存储编译可执行文件。
[qwert]Xcode 5 如何理性罗列文件夹带来更好的版本控制 - Puriney - Purineys Notes
  • 至此,基本的github文件夹就好了,三叉戟的形式。

1Cpp1Day
|--1Cpp1Day (内容将会push上github)
|-- src (所有源代码)
|-- bin (所有可执行程序)
|--1Cpp1Day.xcodeproj (Xcode项目,不会被push)
|--DeriveData (测试/debug/编译用,不会被push)
|--1Cpp1Day.exe (临时可执行程序,另外实际上没有exe后缀)

  • 最后,因为Xcode内部还有自己的记录方式,并非与你实际看见的一样。所以打开1Cpp1Day.xcodeproj 把1Cpp1Day 和 Product分别改成 src 和 bin,同时更改其绝对目录。

这样,每次编译之后,就在DeriveData把文件剪切出来给bin即可(当然还有待改善)


--
草草记录,备以后用。
  评论这张
 
阅读(653)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017