在MacOSX下使用Github管理Xcode代码
版本控制应该算是每个程序员所必备的技能,这个重要性,我就不多说了哈。现在版本控制基本上就是两种途径:SVN和Git。对于SVN我并不是非常了解,只知道在Windows下非常实用,但是在MacOSX下,对于Xcode来说,最好用的应该就是Git了。这篇文章我就介绍下怎么在MacOSX下使用GitHub管理Xcode的代码。
前提:Mac OSX,并且已经能用Xcode编写代码,并且使用过Mac或者Linux的终端,知道最基础的用法。
主要参考来源:https://help.github.com/articles/set-up-git
1.注册一个GitHub的帐号。
https://github.com/
GitHub是一个非常好的开源社区,你可以把代码放在这里,同时也可以看到别人写的代码。
2.下载一个GitHub的官方App
https://github-central.s3.amazonaws.com/mac/GitHub%20for%20Mac%20164.zip
这个链接在GitHub官方主页上也有,下载了解压了以后就直接把app拖到应用程序文件夹就行了
3.下载Git的Mac版本,并安装
http://git-scm.com/downloads
上面的网站是官方的Git网站,下载以后打开会发现4个文件夹,尝试着读那个README.txt就知道它们分别是什么用的了,不想读的话直接打开那个pkg文件,安装,然后打开终端,运行setupgitPATH...的那个文件(不知道怎么运行sh文件的面壁去)。
4.设置Git
打开终端,输入:
git config --global user.name "Your Name Here"
Your Name Here就是给你自己取个名字,无碍。
然后输入
git config --global user.email "your_email@example.com"
这里的email地址必须是你的GitHub上注册的邮箱地址,不能写错了
然后输入
git credential-osxkeychain
# Test for the cred helper
# Usage: git credential-osxkeychain <get|store|erase>
#后面的字是注释,可以不管,绿色的字是应该出来的内容,但是如果出来不是这样的话,就要按照下面安装了(如果已经有上面绿色字的内容出现,下面这步可以跳过):
git credential-osxkeychain
# Test for the cred helper
# git: 'credential-osxkeychain' is not a git command. See 'git --help'. curl -s -O \
http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain
# Download the helper chmod u+x git-credential-osxkeychain
# Fix the permissions on the file so it can be run
然后输入:
sudo mv git-credential-osxkeychain \
"$(dirname $(which git))/git-credential-osxkeychain"
这里的$(dirname $(which git))替换成你的安装Git的路径,一般为:/usr/local/git/,如果不是的话去看看安装Git时候的那个README.txt,里面会有写
最后一句:
git config --global credential.helper osxkeychain
5.设置GitHub.app
在第一次打开GitHub这个App的时候,它就会让你设置用户名和密码,如果那时候没有设置成功的话,可以直接skip,等到Git设置好了以后,打开GitHub.App,打开偏好设置,里面输入你的帐号密码就行了。
这样就算全都设置好了,下面就是使用GitHub。使用GitHub有两种方式,一种是直接使用GitHub.app,另一种是直接使用Xcode
直接用GitHub.app使用:
已有项目:
打开GitHub,会看到你的已经有的项目,如下:
直接选择clone to computer,然后就会让你选择一个文件夹存放,选一个文件夹,就可以了
新建项目:
打开GitHub,选择File->Create new repo,然后写项目名字、项目描述、储存位置,就可以了
具体使用:
完成上面的步骤就可以看到如下
双击,可以看到如下:
History是这个项目所有的commit提交的情况,Changes是当前项目有改动的地方,Branches和Settings暂时不考虑,我们一般只要用前面两项就行了
当你在你的项目文件夹下面有任何的改动时,Changes就会变成下面这样
上面会标出所有改动的文件,只要选择要提交的文件,然后点击Commit,等右上角的圈圈转完,提交就成功了,就可以在History看到提交了,如下:
这个只是本地的提交,如果要把本地的提交上传GitHub的话,就需要Push。点击Repository->Push,就可以了,上GitHub的网站就可以看到改动了。
同理,如果想把GitHub网站上的所有代码下载下来,只要在Repository->Pull,就可以了。
使用Xcode
首先创建一个项目,在创建项目选择存放路径的时候,在下面会有一个是否使用Git的勾勾,这个必须打上,如下:
打上以后,创建完成的Xcode项目就自带Git了,然后在上面的菜单一栏会有Source Control选项,里面会有commit,push,pull等选项,然后我们就要把这个Xcode的项目跟GitHub联系在一起了。
在GitHub里面选择File->add local repo,然后选择Xcode的项目文件夹,选择我们刚刚创建的项目,然后选择一个在GitHub上的Repo名字,这个项目就跟GitHub上这个新建的Repo联系在一起了。
重新回到Xcode,修改了以后选择Source Control->commit,然后填入信息以后就可以提交了,在GitHub上也可以看到提交的修改。如果要直接Push或者Pull,就直接点击Source Control ->Push\Pull,选择默认Branch以后它会让你输入GitHub的信息,这里必须输入你在GitHub上的名字和密码!注意是名字!!!不是帐号!!!
所有的改动都可以在Xcode里面完成所有的提交和上传。
在MacOSX下使用Github管理Xcode代码的更多相关文章
- 使用Github管理项目代码的版本
作为开源代码库以及版本控制系统,Github拥有140多万开发者用户.随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法. 在Git中并不存在主库这样的概 ...
- 构建微服务开发环境7————使用Github管理项目代码的版本
[内容指引] 1.注册GitHub帐号: 2.下载Github Desktop客户端: 3.macOS安装Github Desktop客户端: 4.windows安装Github Desktop客户端 ...
- 使用git和github管理项目代码
以前不知道使用代码管理工具,最后写的一些东西都没有了,由于硬盘坏了或者不小心格式化了之类的,后来使用了Git 和Github来托管自己的代码和读书笔记方便了不少,到哪里只要有网就可以把自己的东西拷贝下 ...
- mac下使用github 上传代码
提起github相信大家都不会陌生,在这里就不再赘述了.作为开源代码库以及版本控制系统,使用好了确实会非常受益,再说的势利点,你找工作时给面试官说你经常维护自己的技术博客和github,相信你给他的印 ...
- linux 下向github上传代码
上传代码: cd TPS/devices/M8 git init #//初始化 git add . #如果是.表示上传全 ...
- 使用当前主流的github管理项目代码(记我的第一次项目创建)
先创建一个github的账号 网址:https://github.com/ 然后下载一个git工具并安装 网址:https://gitforwindows.org/ 下载安装注册完成后, 创建一个新的 ...
- windows环境下使用git客户端、github和tortoisegit管理项目代码
一.为什么 为什么不用svn? svn是一个优秀的代码和版本管理工具,使用svn只需要搭建好svn中央仓库,配置本地svn客户端即可,自从google code关闭服务之后,互联网上已经没有非常好的公 ...
- 使用 Git 来管理 Xcode 中的代码片段
使用 Git 来管理 Xcode 中的代码片段 代码片段介绍 xcode4 引入了一个新 feature: code snippets,在整个界面的右下角,可以通过快捷键:cmd + ctrl + o ...
- iOS开发-xCode代码托管到GitHub
xCode默认的是由源代码管理工作Git,Android Studio内置的也有,之前写过两篇关于Window托管Android代码到GitHub的文章,一直想写篇关于Mac上托管代码的到文章,今天终 ...
随机推荐
- 在.Net中进行跨线程的控件操作(上篇:Control.Invoke)
本文的重点在于介绍如何在多线程编程中,从非UI线程上访问界面中的控件.有过多线程编程经验的人都知道,当我们在非UI线程上试图给一个界面中的控件赋值的时候,比如说label的Text属性,系统会抛出一个 ...
- DataGridView 绑定 List
DataGridView 绑定 List<T> 不会自动更新 正确方式是将 List<T> 设置为 BindingList<T> 即可 (双向绑定)
- UVA 10817 Headmaster's Headache(DP +状态压缩)
Headmaster's Headache he headmaster of Spring Field School is considering employing some new teacher ...
- 一段C++代码想到的问题
今天在学习<Unix环境高级编程>,第七章进程环境给出了一个进程的内存分布示意图,从下往上依次为“正文段->初始化数据->未初始化数据(默认初始化为0)->堆(从低地址到 ...
- c++预编译问题:fatal error C1083: Cannot open precompiled header file: 'Debug/DllTest.pch': No such file or d
1)单独编译StdAfx.cpp 2)编译所有(即按Ctrl+F7) 这时因为该模块没有包括预编译头文件“stdafx.h”的缘故.VC用一个stdafx.cpp包含头文件stdafx.h,然后在st ...
- 关于Html无宽度居中
代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title ...
- (转)ASP.NET-关于Container dataitem 与 eval方法介绍
Container是一个数据容器,代表集合类或者dataview中的一行,而Container.dataitem代表该行的数据:所有的container 被存 放在是一个栈堆stack中,自动的将 ...
- http://src.chromium.org/svn/ 定制chrome浏览器教程及源码
chromium 官网登不进去,最近在学习chrome插件制作,网上教程很多大多没有源码 其实作为开源软件 官方提供了全部源码地址:http://src.chromium.org/svn/ PRESU ...
- #Leet Code# Divide Two Integers
描述:不使用 * / % 完成除法操作.O(n)复杂度会超时,需要O(lg(n))复杂度. 代码: class Solution: # @return an integer def dividePos ...
- iOS: 学习笔记, 透过Boolean看Swift(译自: https://developer.apple.com/swift/blog/ Aug 5, 2014 Boolean)
透过Boolean看Swift 一个简单的Bool类型内部就包含了许多Swift主要功能, 如何构建一个简单类型是有趣的演示. 本文将创建一个与Bool类型在设计与实现上非常相似的新MyBool类型. ...