一、Git的安装
1. Windows下安装
请于https://git-scm.com/downloads 下载exe文件,安装即可。完成后,在命令行下输入命令:
git --version
出现git版本号,即为安装成功。
若命令后出现错误,请检查环境变量,请加入git的环境变量,例如C:\Program Files\Git\cmd;。
2. 类Unix环境下安装
在Linux/类Unix环境下,利用仓库安装较为快捷,并且大多数Linux仓库中有git源。
例1、Debian/Ubuntu
apt-get install git
例2、Fedora
yum install git
更多请参见https://git-scm.com/download/linux
二、Git的命令行操作
1.Git的本地配置
在安装后,还需配置用户的姓名及Email,配置命令如下:
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
这样就可以让git服务器识别自己的身份。在第一次操作远程仓库的时候,会提示
The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.
RSA key fingerprint is xx.xx.xx.xx.xx.
Are you sure you want to continue connecting (yes/no)?
大意为,对方服务器是谁谁谁,是否连接。输入yes即可。
2.SSH免密登录
-
Windows在git bash中输入如下命令,然后一路回车。
ssh-keygen -t rsa -C "email@example.com"
-
在C:\Users\xxx(你的用户名).ssh下产生两个文件:id_rsa和id_rsa.pub,其中pub文件即为你的公钥,讲公钥提交到服务器,即可免密登录。
3.克隆命令
从远程仓库克隆需要所需的源代码命令
git clone git@[ip或者域名]:[远程仓库路径]
例如:git clone git@10.192.10.40:/usr/repositories/opp.git
4.远程仓库配置
从远程仓库克隆下来源代码,我们不仅仅满足于此。与远程仓库相关的操作还很多,我们不能总是输入一大推链接,于是我们将仓库有个“别名”。
git remote add origin git@10.192.10.40:/usr/repositories/opp.git
其中origin即为所谓的别名,当我们需要更换远程仓库地址的时候,可以使用如下命令
git remote set-url origin git@github.com:JevonYang/example.git
5.提交改动
git作为分布式代码管理系统,代码的改变需要几个步骤,一般的来说,需要先改变本地的仓库的代码,再讲本地仓库的代码推送到远程仓库。
改变本地仓库代码,首先需要添加改动文件,再进行提交:
git add filename 或者 git add . //添加改动文件
git commit -m "some comments" //提交改动
另外,我们可以通过一下命令查看,状态及相应记录
git status//查看提交状态
git log//查看提交记录
前者增加一个文件的改动,后者增加全部文件改动,注意后面的英文符号点不要忘记。在git commit命令之后,会出现确认文件选项,即删除改动文件前#号保存即为提交完成。
6.推送到远程仓库
接下来,我们尝试将文件推送到远程仓库,使用如下命令:
git push [远程仓库] [分支名称]
例如:git push -u origin master
如果刚刚没有改动文件的话,远程仓库是不会改变的。
7.分支操作
在很多时候,我们需要用到分支操作,在分支操作上进行一些改动。
git checkout -b dev //建立并切换到分支上
git push -u origin dev //将新建分支推送到远端
git branch//查看分支
8.合并分支
在开发某功能后,需要将以开发的内容合并到主干上。
git checkout master //切换到主干
git merge --no-ff dev //和Dev分支合并
9.解决冲突
有操作就有冲突,git也为我们提供了良好的解决冲突方法。我们假设目前有两个分支master和dev,在master中曾经有过修复bug的改动,而dev中有增加新的feature改动,目前希望将两个分支合并,这样显然会出现冲突。
git merget --no-ff dev
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,当我们做出选择后,保存文件。
git add .
git commit -m "some comments"
git push -u origin master
在合并后,我们选择在此保存文件、提交文件,进而完成合并。
10.暂存功能
在dev开发某功能时,急需改动主干分支上的bug,于是我们需要将dev开发的内容暂存起来。
git stash//此时branch在dev上,把已开发内容进行暂存
git checkout master//切换到主干分支,进行bug修复
git checkout -b issuexx//创建分支,进行修复
git checkout dev //切回开发分支
git stash list //查看暂存功能列表
git stash apply //从暂存区域恢复
11.标签操作
增删标签
git tag v1.0//为当前版本添加标签
git tag -d v0.1 //删除标签
增加过往标签
git log --pretty=oneline --abbrev-commit//查看提交历史
git tag v0.9 cc17032 //为commit id为cc17032的提交添加标签
git tag -a v0.1 -m "some comments" cc17032 //添加标签、备注
查看标签
git tag//查看所有标签
git show v1.0//查看标签信息
推送标签到远端
git push origin v1.0//推送某一标签
git push origin --tags//推送全部标签
三、MyEclipse egit插件使用
git插件仅仅是git功能的延伸,下文以MyEclipse为例说明。
1.Git插件安装
-
下载MyEcilpse Git插件例如:http://download.youkuaiyun.com/detail/get_set/7688939
-
在MyEcilpse安装目录dropins文件夹新建egit文件夹, 例如C:\Users\xxx(你的用户名)\AppData\Local\MyEclipse\MyEclipse 10\dropins\egit
-
放入解压后的文件,启动MyEclipse即可
2.从远端导入项目
- File->Import->Git->Projects from Git->URI->
- 输入远程仓库URI,例如git@10.192.10.40:/usr/repositories/opp.git
- IDE会自动填写host以及repository path
- Connection中填写通讯协议ssh,端口22
- Authentication中填写git服务器git账号及相应密码
四、Git服务器搭建
1.远端安装Git
下文以CentOS举例说明
-
远端利用yum源安装git,
yum -y install git
-
远端添加账户:
groupadd git useradd git -g git passwd git #参数是用户名
2.远端建立仓库
-
切换到git账户
su - git
-
创建远程仓库,并会有相应提示,即为远程仓库的位置
mkdir test.git cd test.git git init --bare //创建裸仓 Initialized existing Git repository in /home/repositories/test.git/
3.SSH免密码登录设置
-
配置ssh功能,以及密钥文件位置
vim /etc/ssh/sshd_config
-
在该文件中,可以看到以下三项被#号注释,去掉#号,打开注释。
#RSAAuthentication yes #PubkeyAuthentication yes #AuthorizedKeysFile .ssh/authorized_keys
-
在git目录下创建.ssh/authorized_keys文件用于放置密钥,可以用以下命令也可以手动粘贴
cat your_rsa_key.pub>>/home/git/.ssh/authorized_keys
参考文献
GIT官网1
Git教程-廖雪峰的官方网站2
GIT教程-易百教程3
CentOS7下git服务器端搭建4