以Xcode9.3.1为例使用Git版本控制
我之前一直用的SVN ,最近换了新的工作需要用Git,正好用一下也不是什么坏事儿,自己在用的过程中也记录了一下,希望了以帮助到和我一样的的Git小白。。
安装Git工具
首先,你需要下载Command Line Tools,这个每个版本的xcode都不一样,这个自己看看下载就好了。
创建一个Git源(Creating a Git repository)
打开Xcode,创建一个新的工程。选择iOS区的“Application”,在应用模板页选择“Single View Application”。

选择下一步,在项目名中输入GitDemo。

点击下一步,也就是最后一个步骤,在这里先选择一个要保持工程的目录,然后在窗口底部选上Create git repository on My Mac :

默认情况下,这个选项是被选上的,如果你不想使用git,你可以取消它,但是我们是需要用Git,所以需要将它勾选上,然后点击创建按钮。
创建完项目之后,打开项目目录,在目录中,有一个.git的子目录,时Xcode为存储git源相关数据自动创建的。

如果你看不到.git目录,你需要让隐藏的文件可见。具体做法就是打开一个Terminal窗口,输入以下命令:
//显示隐藏文件
defaults write com.apple.finder AppleShowAllFiles -bool true
重启Finder应用,输入
killall Finder
然后不出意外的话就是显示上图所示的,顺便说一下
//关闭显示隐藏文件的命令
defaults write com.apple.finder AppleShowAllFiles -bool false
下面说说项目已经存在,但是没有用Git。怎么来添加
首先,打开Terminal窗口,然后cd 工程路径(直接将工程文件拖拽至此),我的桌面上有一个项目oldProject没有用Git
然后命令:
git init
这会初始化一个空的源,打开项目目录,在目录中,有一个.git的子目录,就和上面新的项目添加Git一样了。
git add .
.表示所有文件
如果想添加项目中的指定文件,那就把.改为指定文件名即可
这样,当前目录所有的文件被添加到git的缓存区去了,最后,输入以下命令:
git commit -m "备注信息"

现在git源就建好了,回到Xcode,打开Source Control菜单,如果Source Control菜单还是被禁用的话,就退出Xcode重新打开。

commit 就是提交咯。
push 就是推送到远程库
pull 就是从远程库拉取
然后我们来说说把本地仓库的项目推到远程仓库上。以码云为例:
码云注册账号啥的就不说了。。在码云新建个项目

点击下面的创建就会进入下面这个界面,然后复制一下(克隆/下载)里面的地址栏里的https地址

如果你的本地项目中有README.md,为了防止冲突,你也可以把你新建的远程的README.md给删掉,如果没有,不删的话也要合并接下来会说到
本地仓库关联到码云上
git remote add origin https://gitee.com/*****/oldProject.git
后面的URL地址就是刚刚复制的那个https地址
在这一步时如果出现错误:fatal:remote origin already exists 意思是路径存在了,就需要删除原来的路径重新添加
那就先输入 git remote rm origin
再输入 git remote add origin https://gitee.com/*****/oldProject.git 就不会报错了。
将代码由本地仓库上传到Github远程仓库
git push -u origin master
如果报failed to push some refs to 'https://gitee.com 这个错误,就是上面提到的不删的话,码云中的README.md文件不在本地代码目录中

可以通过如下命令进行代码合并 (注:pull=fetch+merge)
git pull --rebase origin master

然后再执行 git push -u origin master
即可完成代码上传


顺利的话本地Git以及远程就完成了。。。。但是我的本地项目推到远程仓库上,因为我的项目里有大于100M的文件一直推送不成功。。
错误大概就是这样的

大概意思就是当你push50M以上的文件时码云将会警告,当push100M以上文件,就直接拒绝你的push,要想push必须把该文件从本地仓库和远程仓库全部移除掉。这个移除会永久性的从本地git和github里移除,如果这个文件很重要,要记得做一次备份。
输入命令:
1. cd /Users/Dora/Desktop/XXX(cd后面的这个路径要换成你自己项目的路径)
2. git rm -cached/Users/Dora/Desktop/XXX/XXX/libMolaCore.a(cached后面是你自己的要移除的文件的路径)
3. git commit --amend -CHEAD
执行完这步后,这个大文件将会从你的commit记录里移除,并且以后commit都将不会再把它commit了,这时候就可以git push把本地代码push到github上了。
执行 git push -u origin master
然后又报错了。。。。。无语了。。

查了很多好像引起该错误的原因是,目录中没有文件,空目录是不能提交上去的
然后执行如下命令。。
touch README
git add README
git commit -m 'first commit'
git push origin master

这才算提交完成。。。。。。希望可以帮助到大家!!
Xcode删除本地git代码管理
将工程退出,打开终端,执行下面语句:
cd 工程路径(直接将工程文件拖拽至此)
git init
rm -rf .git
参考:
https://www.jianshu.com/p/4496e8f5c0a3
https://www.cnblogs.com/lihaibo-Leao/p/5579217.html