初识git
引用自 https://my.oschina.net/dxqr/blog/134811 查看原文
关于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. 对终端显示的配置,给文字添加颜色,更易于阅读
git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto
2.当我们向服务器(比如Git@OSC,Github)提交代码时得有个用户名邮箱什么的,可以用如下命令进行设值
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命令行,并且自动切换到当前所在目录,我们运行
git init
命令,可以看到会在该目录下生成一个.git的隐藏目录,这说明该目录以及归git进行管理了
2.输入
git add .
把该目录下的所有文件全部提交到缓冲区
3.使用
git commit -m "GitHelloWorld first commit"
命令,将代码提交到HEAD,注意此时还没有提交到服务器
4.我们该如何提交到服务器呢?对于熟悉SVN的用户,我们需要一个SVN仓库的地址还有所谓的用户名,密码,但是对于Git可能稍有不同
首先在Git Bash中输入:
ssh-keygen -t rsa -C "youremail@xxx.com"
然后一路回车,这个会在当前用户文件夹下,生成.ssh 文件夹,里边有个 id_rsa.pub文件,用记事本打开,复制其中的全部内容。
然后打开http://git.oschina.net/keys页面,在该页面中添加公钥,标题可以随便填,公钥就是刚才复制过的内容,然后保存即可
我们在http://git.oschina.net/projects/new中添加一个新项目,比如GitHelloWolrd(这个名称后面会用到,这个步骤是必须的)
我们先来测试下是否联通:输入命令
ssh -T git@git.oschina.net
然后会通知你输入用户名/密码,该密码就是你的osc账户密码,然后会提示你输入yes/no,输入yes后回车,显示出
Welcome to Git@OSC, whaon!
说明连接成功(密码也可以在http://git.oschina.net/profile/account进行设值)
下面就可以提交项目到git仓库中了,我们先输入一个不存在的
git remote add origin http://git.oschina.net/whaon/none.git
然后执行
git push origin master
,会出现错误,因为在osc@git中根本不存在none这个项目
那我们应该输入
git remote add origin http://git.oschina.net/whaon/GitHelloWolrd.git
但是会发现不能执行了,这时我们可以打开.git下的config文件,把如下内容删掉
[remote "origin"]
url = http://git.oschina.net/whaon/none.git
fetch = +refs/heads/*:refs/remotes/origin/*
或者执行
git remote rm origin
然后再执行
git remote add origin http://git.oschina.net/whaon/GitHelloWolrd.git
git push origin master
就可以了,这时项目已经被提交到osc@git上了
我们可以在自己的git中看到已经提交的项目了
以后的操作就是在本地修改->add->commit->push
当B程序员想参与到该项目中,该怎么办呢?
首先B程序员需要克隆远程版本库,使用如下命令
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