Git简明教程

本文详细介绍了Git的安装过程,包括Windows和类Unix系统下的安装方法,并深入讲解了Git的基本命令行操作,如配置、克隆、提交、分支管理等。此外,还介绍了如何在MyEclipse中使用egit插件以及如何搭建Git服务器。

一、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

转载于:https://my.oschina.net/yangzijing/blog/1476531

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值