使用git管理自己的代码--简单使用流程
其实没有管理代码的需求,只是在公司用公司的电脑,在自己家用自己的电脑,在父母家用父母的电脑。一份代码来回拷的话的确有点恶心。有人说放在网盘里,DropBox被墙,MicroSoft的SkyDrive又不太安全。哎,选择不太多。代码嘛,还是放在VSC里吧。VSS、Team Foundation、SVN、CVS都用过,目前Git又比较火,打算试试Git。而且看上了Git的最大特点——离线提交。
OK,咱们开始说点正事吧。首先,代码放在哪?
说道Git就得提提GitHub,是目前网络上的Git的网络服务提供商,像目前我这种多地玩票的,一个Open的Internet服务提供商当然是非常好的去处。地址:https://github.com/。
注册个账号:Signup and Pricing。当然,我选择免费的账号。需要注意的一点是,免费账号中存储的代码都要求是可以开源的,任何人都可以下载。
提供用户名,Email,密码就可以完成注册。
现在,你有了已经有了一个能够放你的代码的GitHub账号了。现在我们需要一个客户端工具能够让我们将代码提交到GitHub上。
好在GitHub为我们提供了一个向导,当然,像我这种英语不好的可能就比较蛋疼。
OK,既然我这个是个简单使用流程,我来唠叨一下我怎么做的。顺便说一下,各种操作系统使用Git的客户端安装方式不一样,我在这里介绍两种,Windows和CentOS 6.2的。
Windows(我的环境:Windows 7 旗舰 sp1)
http://code.google.com/p/msysgit/是一个windows的客户端,是目前我使用的,目前最新的版本是Git-1.7.11-preview20120710.exe。下载安装我就不说了。嗯。Windwos安装Git客户端比较简单。
Linux(我的环境:CentOS 6.2)
CentOS 6.2的yum源中没有Git,需要手动进行编译安装。首先,需要安装git依赖的包:
yum install curl yum install curl-devel yum install zlib-devel yum install openssl-devel yum install perl yum install cpio yum install expat-devel yum install gettext-devel如果你的CentOS没有安装GCC,无法进行编译安装,需要安装GCC:
yum -y install gcc下载最新的Git包,并且编译安装:
wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.gz tar xzvf git-latest.tar.gz cd git-xxxx-xx-xx autoconf ./configure make | make install上面cd git-xxxx-xx-xx是日期呦,跟我的肯定不一样的啦,所以xx代替,下回用oo。
如果这个过程中没有问题的话,你就可以通过下面的命令看git的版本了。
git -version
下面就是Git客户端的使用了。
记得在有个blog看过“Git不太喜欢没有名字的人”,你懂的,安装后我们需要告诉Git你是谁。Windows建议先使用Git Bash,Linux使用终端就可以了,为了熟悉一下命令。
告诉Git你是谁:
git config --global user.name "Your Name Here" git config --global user.email "Your Email Here"Ok,git已经知道你是谁了,下一步就是创建Repository,这是管理你的代码的仓库。还记得我们创建的GitHub账号吗,又该他出场了,在服务器端创建一个Repository来放置代码。登录后,点击“Create a new Repo”按钮。
输入Repository的信息,就可以了。so easy吧。
顺便说一下,Initialize this repository with a README是在初始化一个README.md文件在repository下,这个README文件中的内容会显示在Repository的主页面上,用来介绍这个工程。
Add .gtiignore这个选项基本是选择你的项目使用的语言,选好后,默认设置一些不提交的文件,比如java就是class、jar、war、ear。
OK,目前你的Repository已经建立完毕,现在需要告诉GitHub谁能向Repository中提交代码。我选择使用SSH方式向GitHub提交代码。需要在系统中创建公私密钥对。
使用Git Bash(Windows)或者终端(Linux)执行如下命令,创建系统RSA公私密钥对。
ssh-keygen -C "Your Email address" -t rsa创建过程中,会询问密钥保存的位置,还有密钥使用的密码,如果密码设置为空,提交代码的时候不会询问密码。
默认的密钥保存位置是:
XP/2003用户:c:/Documents and Settings/登陆名/.ssh
Vista用户: c:/Users/登陆名/.ssh
linux :~/.ssh打开id_rsa.pub公钥文件,将里面的内容全部拷贝到剪贴板。然后登陆GitHub。点击“Account Settings”按钮。
在右侧的菜单中选择“SSH keys”。
点击“Add SSH key”。
设置一个key的标题,然后将公钥粘贴到下面的key输入区。点击“Add key”,完成key的添加。
现在需要做的就是将这个Repository同步到本地了。下面的操作基本使用的是Git Bash(Windows)或者终端(Linux)。
首先,获得你的Repository的同步地址。登录GitHub,找到Your Repositories。进入刚刚创建的Repository。
选择SSH,查看SSH协议同步的Repository地址,记下,备用:
本地创建好需要同步Repository的目录,使用cd命令进入目录。使用git clone命令将GitHub中创建的Repository同步到刚才创建的目录中,Repository地址是刚才记下的:
cd XXX/XXX git clone git@github.com:moishalo/test_repository.git如果刚才在创建RSA密钥对的时候输入密码了,则进行同步的时候要求输入密码。
好了,这样咱们就成功的将远程的Repository同步到本地。现在的我们的问题是如何将文件提交到远程了。在Repository下面新建一个文件test.txt。随便写点东西。下面我们会将这个文件提交到GitHub上。
进入Repository所在目录,使用git add命令将文件标识为需要提交(这个命令也可以针对目录)。
cd XXX/XXX git add test.txt使用git status命令查看我们做过哪些修改,建议在提交前都调用一下这个命令,看看我们做过什么改动。
使用git commit命令将文件提交到本地的Repository中,也就是离线提交,这个时候是可以没有网络链接的。注意:m参数后面跟的是提交的注释,记录这次提交的改变。
这个时候,文件还没有提交到GitHub中,需要使用git push命令将代码提交到服务器中。git push命令后面可以跟分支名,新创建的Repository默认分支是master。如果不跟分支名,默认直接提交到主分支master上。当然,push操作还是会校验你的公私密钥,如果密钥没设置密码,直接可以进行提交。
这个时候,你可以登录GitHub来查看你刚才push到服务器上的代码。
OK,到现在,基本的操作就介绍完了。Git的命令呢,就不一一介绍了。各位自行Google吧。这篇文章写了时间不短,只能算是记录的Git的入门操作。我使用Git也只是入门,基本上只能介绍到这个地步了。呵呵。表达能力有限,可能有描述不清的地方。看到的各位希望能够多提提意见。当然,有打算用Git的能够获得帮助那我就很欣慰啦。