Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1071112
  • 博文数量: 403
  • 博客积分: 10272
  • 博客等级: 上将
  • 技术积分: 4407
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 14:22
文章分类

全部博文(403)

文章存档

2012年(403)

分类: 嵌入式

2012-04-19 20:53:26

先在windows上安装git与copssh.

1 - Git,Windows下的Git,还是比较好。
2 - SSH,可以用,可以在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"

然后,用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 连接数据库  
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,也许有用.

我的开发工具

分类: IPhone
阅读(2522) | 评论(0) | 转发(0) |
0

上一篇:Android HAL技术详解

下一篇:启动器

给主人留下些什么吧!~~