转载地址:http://blog.csdn.net/jbb0403/article/details/45644661
需求:公司的代码管理用的是TFS,所以需要将iOS代码传到TFS服务器上。
mac环境下最终确定用Git tf连接TFS。感谢这位大神:http://bumaociyuan.github.io/git/2014/11/26/tfs-via-git.html
1、下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=30474
2、下载文件后,解压缩到/Users/Rui/git-tf目录下(git-tf文件名随便取,后面配置环境变量时保持一致即可)
3、配置环境变量,命令行下输入:open ~/.profile
修改文件,追加三行语句,保存:
export PATH="/Applications/Xcode.app/Contents/Developer/usr/libexec/git-core/":$PATH
export PATH="/Users/Rui/git-tf/":$PATH
export JAVA_HOME="/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home"
$ source .profile
4、配置git,添加连接服务器的用户名和密码:
git config --global git-tf.server.username username
git config --global git-tf.server.password ***********
5、安装证书,需要java jdk for mac
java jdk for mac 下载地址: https://support.apple.com/kb/DL1572?locale=zh_CN
下载后安装jdk文件。安装后在命令行输入:git tf配置成功sudo keytool -import -trustcacerts -file zztxca.cer -alias CompanyCA -keystore /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/security/cacerts #the default password for the cacerts keystore is `changeit` #When asked Trust this certificate? by keytool, answer yes
6、clone服务器项目,eclipse中查看服务器工程目录如图:
clone命令:
git tf clone https://192.168.1.11:12365/tfs/HomeWork_Student_Android $/IOSProject
下载成功:
在本地/Users/Rui目录下生成个IOSProject目录,里面down下来服务器"/tfs/HomeWork_Student_Android/IOSProject"下的所有内容。
7、将ios项目SHWT文件夹内的所有内容拷贝到IOSProject,
输入“git add .“ 或 ”git add --all“命令后用git status查看状态,表示已经成功加入到“暂存区"如图:
8、用git commit --all进行提交,弹出vim提示输入这次提交的目的,输入提交目的后“:wq”保存并退出。
提交成功,git status 查看,提示工程非常干净,没有可以提交的项目:
9、然后git tf push ,报错,于是就舍弃push 改用git tf checkin命令,成功提交:
10、去TFS上查看是否提交成功,答案是yes,项目已成功上传。
注意事项:
git tf pull 、git status 、git add等命令都应该进入iosproject文件夹内操作
出现的错误:
q1、clone库时地址出错,发生如下错误:
q2、一开始不明白git用法时,commit没有成功时便进行checkin,提交到12%时,报missing blob: 错误:
当确认commit成功后,再进行checkin就成功了
参考文献:
http://www.cnblogs.com/dotey/archive/2012/09/25/2702157.html
http://www.zhihu.com/question/21324988/answer/17927741
http://bumaociyuan.github.io/git/2014/11/26/tfs-via-git.html
http://phplaber.iteye.com/blog/1699926
http://stackoverflow.com/questions/8488887/git-error-changes-not-staged-for-commit
http://www.cnblogs.com/BeginMan/p/3591005.html
http://www.open-open.com/lib/view/open1328069733264.html
http://www.tuicool.com/articles/qy6V3i
http://www.oschina.net/question/779569_155029