XCode源代码管理与在Windows上架设Git服务器
From: http://www.189works.com/article-55836-1.html
先在windows上安装git与copssh.
1 - Git,Windows下的Git,还是msys-git比较好。
2-SSH,可以用CopSSH,可以在Windows上启动SSH服务,而不仅是客户端。
安装这两个工具的过程没有什么难度。
这里假定Git是安装在C:\Git目录下,CopSSH安装在C:\ICW目录下。
那么当你安装好以后,git已经可以从远程得到版本库,SSH也有一个用户可以登录了。假定这个用户是git(CopSSH默认没有任何用户可以登录,需要手动激活一个设好密码的Windows用户,注意千万不要选administrator,否则你要悲剧,不能登录了,参见我博客:windows xp 遭遇administrator账号劫持)。这时,从其它机器用git用户通过ssh登录以后,可以执行ls,cd等基本命令。但是git任然不能运行。
所以,也就还不能通过这个ssh来发布git版本库了。要实现这个,需要做一些设置。
首先、需要在Git的安装目录里找到cmd目录,这里就是C:\Git\cmd了。
在里面创建如下几个文件:git,git-upload-pack,git-upload-archive,git-receive-pack。
这里都没有扩展名的,主要是给登录后,由bash执行的。
每个文件都只有一行,分别是:
git里写git.cmd$*
git-upload-pack里写gitupload-pack$*
git-upload-archive里写gitupload-archive$*
git-receive-pack里写gitreceive-pack$*
然后,就要给登录后的用户添加path了,保证上面添加的命令可以找到,并执行。找到CopSSH安装目录的etc下的profile文件。这里就是C:\ICW\etc\profile了:在文件最后添加两行
gitpath=`/bin/cygpathC:/Git/cmd`#这里不是引号,路径是Git下的cmd,斜杠也要用Unix的习惯
exportPATH="$PATH:$gitpath"
可能需要复制MSysGit的几个文件到ICW/bin; git.exe,iconlibv2.dll, git-receive-pack.exe, git-upload-pack.exe, git-upload-archive.exe.
然后,用git用户重新从SSH登录。就可以使用git命令了。
例如创建一个git数据库:
mkdirtestgit
cdtestgit
gitinit
然后,就可以在远程clone这个库了。假定这台机器的ip是192.168.0.1。
在另外一台机器上,git clone [email protected]:testgit testgit 就可以clone成功了,这样Windows下的Git+SSH服务就做成功了!xcode 中可以通过organizer 连接数据库 [email protected]:testgit.
clone之后提交会出现错误,意思是说如果你不是用--bare初始化的仓库,默认git会拒绝你的提交。
如果你这样做了,你就只能用命令 git reset --hard 才能看到push后的内容错误原型
remote: error: refusing to update checked out branch: refs/heads/masterremote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
解决办法,修改 Remote 端的 git 仓库中的 .git/config 文件,添加:
[receive]
denyCurrentBranch = ignore
也可以通过mac下git命令行执行连接:
cd testG
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin [email protected]:testgit
git push -u origin master
南来地,北往的,上班的,下岗的,走过路过不要错过!
======================个性签名=====================
之前认为Apple 的iOS 设计的要比 Android 稳定,我错了吗?
下载的许多客户端程序/游戏程序,经常会Crash,是程序写的不好(内存泄漏?刚启动也会吗?)还是iOS本身的不稳定!!!
如果在Android手机中可以简单联接到ddms,就可以查看系统log,很容易看到程序为什么出错,在iPhone中如何得知呢?试试Organizer吧,分析一下Device logs,也许有用.