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,也许有用.

XCode源代码管理与在Windows上架设Git服务器

相关推荐