git-开源中国Git使用
鉴于Git@OSC的那个888元的红薯太卡哇伊了,这几天就花了些时间看了下传说中的Git
关于Git的概念以及种种好处,这里就不在赘述了,下面就讲下简单的使用
在windos环境下使用git,首先要下载msysgit,地址在http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git,下载好后,一路next完成安装
安装好后,会有2个可执行文件,Git GUI和Git Bash,正如名称一样,一个是GUI工具,一个是命令行工具
Git Bash,它的命令和linux很像,我们可以date,time,pwd,cd,ls,exit等等,具体的我们可以输入help来查看
再操作之前我们先来多git进行一些配置以便更方便的使用
1. 对终端显示的配置,给文字添加颜色,更易于阅读
1
2
3
|
git config --global color. diff auto git config --global color.status auto git config --global color.branch auto |
2.当我们向服务器(比如Git@OSC,Github)提交代码时得有个用户名邮箱什么的,可以用如下命令进行设值
1
2
|
git config --global user.name "Your Name" git config --global user.email "your@email.com" |
其实这些配置都会存放在用户所在目录下的.gitconfig文件中,比如(C:\Users\Administrator\.gitconfig,这个要看实际的路径,有可能在C:\Windows\System32\config\systemprofile目录下),用Editplus打开可以查看文件内容
进行完配置后,现在比如我们现在有个eclipse工程GitHelloWord,我们如何来让git进行管控呢?
1.我们现切换到这个目录下(是和.classpath和.project同级的那个目录),右击然后选择Git Bash,这是就会弹出Git命令行,并且自动切换到当前所在目录,我们运行
1
|
git init |
命令,可以看到会在该目录下生成一个.git的隐藏目录,这说明该目录以及归git进行管理了
2.输入
1
|
git add . |
把该目录下的所有文件全部提交到缓冲区
3.使用
1
|
git commit -m "GitHelloWorld first commit" |
命令,将代码提交到HEAD,注意此时还没有提交到服务器
4.我们该如何提交到服务器呢?对于熟悉SVN的用户,我们需要一个SVN仓库的地址还有所谓的用户名,密码,但是对于Git可能稍有不同
首先在Git Bash中输入:
1
|
ssh -keygen -t rsa -C "youremail@xxx.com" |
然后一路回车,这个会在当前用户文件夹下,生成.ssh 文件夹,里边有个 id_rsa.pub文件,用记事本打开,复制其中的全部内容。
然后打开http://git.oschina.net/keys页面,在该页面中添加公钥,标题可以随便填,公钥就是刚才复制过的内容,然后保存即可
我们在http://git.oschina.net/projects/new中添加一个新项目,比如GitHelloWolrd(这个名称后面会用到,这个步骤是必须的)
我们先来测试下是否联通:输入命令
1
|
ssh -T git@git.oschina.net |
然后会通知你输入用户名/密码,该密码就是你的osc账户密码,然后会提示你输入yes/no,输入yes后回车,显示出
1
|
Welcome to Git@OSC, whaon! |
说明连接成功(密码也可以在http://git.oschina.net/profile/account进行设值)
下面就可以提交项目到git仓库中了,我们先输入一个不存在的
1
|
git remote add origin http: //git .oschina.net /whaon/none .git |
然后执行
1
|
git push origin master |
,会出现错误,因为在osc@git中根本不存在none这个项目
那我们应该输入
1
|
git remote add origin http: //git .oschina.net /whaon/GitHelloWolrd .git |
但是会发现不能执行了,这时我们可以打开.git下的config文件,把如下内容删掉
1
2
3
|
[remote "origin" ] url = http: //git .oschina.net /whaon/none .git fetch = +refs /heads/ *:refs /remotes/origin/ * |
或者执行
1
|
git remote rm origin |
然后再执行
1
2
|
git remote add origin http: //git .oschina.net /whaon/GitHelloWolrd .git git push origin master |
就可以了,这时项目已经被提交到osc@git上了
我们可以在自己的git中看到已经提交的项目了
以后的操作就是在本地修改->add->commit->push
当B程序员想参与到该项目中,该怎么办呢?
首先B程序员需要克隆远程版本库,使用如下命令
1
|
git clone http: //git .oschina.net /csen66/weixin-client-for-java .git |
把远程项目(该项目是我随便搜的)clone到本地,注意你只有只读权限,如果你想参与到该项目中,需要改项目的拥有者把你添加进项目组,然后就可以协作开发了
附录:
ls不能显示中文目录问题
解决办法:在git/etc/git-completion.bash中最后增加一行:
alias ls='ls --show-control-chars --color=auto'
关于Git和eclipse结合的EGit,更新地址为http://download.eclipse.org/egit/updates