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里写  git upload-pack $*
git-upload-archive里写  git upload-archive $*
git-receive-pack里写  git receive-pack $*

然后,就要给登录后的用户添加path了,保证上面添加的命令可以找到,并执行。找到CopSSH安装目录的etc下的profile文件。这里就是C:\ICW\etc\profile了:在文件最后添加两行

gitpath=`/bin/cygpath C:/Git/cmd`  #这里不是引号,路径是Git下的cmd,斜杠也要用Unix的习惯
export PATH="$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数据库:
mkdir testgit
cd testgit
git init

然后,就可以在远程clone这个库了。假定这台机器的ip是192.168.0.1。
在另外一台机器上,git clone administrator@192.168.0.1:testgit testgit 就可以clone成功了,这样Windows下的Git+SSH服务就做成功了!

 

xcode 中可以通过organizer 连接数据库 administrator@192.168.0.1:testgit.  
clone之后提交会出现错误,意思是说如果你不是用--bare初始化的仓库,默认git会拒绝你的提交。
如果你这样做了,你就只能用命令 git reset --hard 才能看到push后的内容

错误原型

remote: error: refusing to update checked out branch: refs/heads/master

remote: 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 administrator@192.168.0.1:testgit

git push -u origin master

 

南来地,北往的,上班的,下岗的,走过路过不要错过!

 

======================个性签名=====================

之前认为Apple 的iOS 设计的要比 Android 稳定,我错了吗?

下载的许多客户端程序/游戏程序,经常会Crash,是程序写的不好(内存泄漏?刚启动也会吗?)还是iOS本身的不稳定!!!

如果在Android手机中可以简单联接到ddms,就可以查看系统log,很容易看到程序为什么出错,在iPhone中如何得知呢?试试Organizer吧,分析一下Device logs,也许有用.

我的开发工具

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值