Git安装使用指南
Git原理示意图
1. 安装git
Linux服务器版本为Redhat6.2-64,其他版本可能有些许不同
1.1 安装依赖包
在安装git前首先安装依赖包,包括的依赖包有:
cvs-1.11.23-11.el6_0.1.x86_64.rpm
gettext-0.17-16.el6.x86_64.rpm
gettext-devel-0.17-16.el6.x86_64.rpm
gettext-libs-0.17-16.el6.x86_64.rpm
libgcj-4.4.6-3.el6.x86_64.rpm
libgcj-devel-4.4.6-3.el6.x86_64.rpm
perl-devel-5.10.1-119.el6_1.1.x86_64.rpm
perl-ExtUtils-CBuilder-0.27-119.el6_1.1.x86_64.rpm
perl-ExtUtils-MakeMaker-6.55-119.el6_1.1.x86_64.rpm
perl-ExtUtils-ParseXS-2.2003.0-119.el6_1.1.x86_64.rpm
perl-Test-Harness-3.17-119.el6_1.1.x86_64.rpm
zlib-1.2.3-27.el6.x86_64.rpm
zlib-devel-1.2.3-27.el6.x86_64.rpm
1.2 安装git
首先下载git最新版本,下载地址为:https://www.kernel.org/pub/software/scm/git/
解压git:tar xvf git-2.9.5.tar.gz
进入目录,配置,编译,安装:
cd git-2.9.5
./configure
make
sudo make install(安装需要root权限)
检查安装是否成功:git --version
成功标志:git version 2.9.5
2.linux上使用git
2.1 创建版本库
将目录test转化为git版本库
cd test
git init
此时会在该目录下生成.git目录,里面放置的是版本控制信息。
2.2 添加单文件
将tt文件添加到版本库
git add tt
对于已经添加过的文件,不需要重复add,修改过之后直接commit
2.3 添加多文件
将整个目录中的全部文件添加到版本库
git add .
2.4 提交
使用add命令只是将修改记录到了本地缓存库,没有真正提交到版本库。
git commit -m “initial contents of tt”
不过在使用提交前必须设置作者信息包括名字和email,不然提交会失败,git作者这么设计的目的显而易见,为了更好追踪修改者。
git config user.name "zhangcl"
git config user.email zjphzcl@163.com
2.5 查看提交历史
git log
2.6 查看某条提交详细信息
git show $id
2.7 查看版本库目前状态
git status
2.8 删除文件
git rm tt
git commit -m “remove tt”
2.9 重命名文件
git mv tt aa
git commit -m “mv tt to aa”
2.10 配置信息
设置:
git config user.name "zhangcl"
git config user.email zjphzcl@163.com
查看:
git config -l
取消设置:
git config --unset user.name
2.11 克隆版本库(远程仓库检出)
git clone becloned [cloned]
git clone [url]
2.12 本地仓库信息推送远程
如果是首次推送,需要在远程建立同名仓库,并裸初始化
mkdir gittest
cd gittest
git --bare init
然后在本地执行,本地需要首先建立仓库,并已经首次提交
git push --set-upstream md@200.36.0.50:/home/md/zhangcl/git/remote master
如果非首次推送,直接执行
git push
2.13 获取远程仓库最新信息
git pull
2.14 处理合并冲突
git会自动处理不冲突的合并,但是对于冲突,这通常发生在同一文件的同一行,需要人为介入处理,处理流程如下:
git pull
(手动处理文件中的冲突)
git add filename
git commit –m “something”
3.IDE使用git
目前仅对eclipse和HBuilder做过实验。
3.1 配置ssh
此步骤仅eclipse需要。
窗口->首选性->常规->网络连接->ssh2->密钥管理->生成RSA密钥->通过SFTP导出->保存私钥
常规->添加私钥->确定
3.2 创建本地git仓库
右击项目名->小组->共享项目
3.3 提交到本地仓库
右击项目->小组->落实->commit
3.4 首次推送到远程仓库
本地项目提交到远程仓库之前,需要首先提交到本地仓库,步骤如3.3所示。在提交之前需要先在远程建立裸仓库且仓库名必须与本地仓库名称相同,建立命令为:
mkdir newtest
cd newtest
git --bare init
如果项目是通过ssh协议提交到远程仓库,则必须首先配置ssh非对称私有密钥,配置方法如3.1所示。
准备工作完成之后,进行正式提交:
项目右击->小组->Remote->Push->Costom URI->下一步->Add all ranches Spec->Add all tags Spec->完成->确定
3.5 修改提交本地仓库并推远程
项目名右击->小组->落实->commit and Push
3.6 从远程仓库检出
项目推送到远程之后,本地和远程之间并没有同步,需要删除本地项目,再将远程检出到本地实现同步。
文件->导入->Git->来自Git项目->下一步->URI->下一步->(填写远程主机信息)->下一步->下一步->下一步->(选择本地路径)->下一步->下一步->完成
HBuilder的git插件有个bug,导致实际已经检出项目,但是检出的最后一步无法点击“完成”。解决办法为:直接点击取消,在通过“导入”->“git”->“local”,将刚实际检出的代码手动再导入一次即可。如果执行“commit and push”失败,就单独执行一次“push to upstream”。
3.7 从远程获取最新版本
项目右击->小组->Pull
3.8 新增目录文件
新建完目录或文件之后右击->小组->Add to Index,之后再提交
3.9 处理合并冲突
git会自动处理不冲突的合并,但是对于冲突,这通常发生在同一文件的同一行,需要人为介入处理,处理流程如下:
右击项目->小组->Pull->(手动处理文件中的冲突)->右击文件->小组->Add to Index->Commit
参考文件:git安装使用指南1.3-zhangcl