文档章节

Git简明教程

杨子敬的瞎扯时刻
 杨子敬的瞎扯时刻
发布于 2017/07/20 17:02
字数 1759
阅读 124
收藏 0
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.csdn.net/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

© 著作权归作者所有

杨子敬的瞎扯时刻

杨子敬的瞎扯时刻

粉丝 12
博文 14
码字总数 12091
作品 0
西城
程序员
私信 提问

暂无文章

Jenkins系列_插件安装及报错处理

进入Jenkins之后我们可以进行插件的安装,插件管理位于以下模块: 发现上面报了一堆错误,是因为插件的依赖没有安装好,那么这一节,就先把这些错误解决掉吧。解决完成后,也就基本会使用插件...

shzwork
今天
2
0
mysql mysql的所有查询语句和聚合函数(整理一下,忘记了可以随时看看)

查询所有字段 select * from 表名; 查询自定字段 select 字段名 from 表名; 查询指定数据 select * from 表名 where 条件; 带关键字IN的查询 select * from 表名 where 条件 [not] in(元素...

edison_kwok
昨天
9
0
多线程同时加载缓存实现

import com.google.common.cache.Cache;import com.google.common.cache.CacheBuilder;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorServi......

暗中观察
昨天
3
0
利用VisualVM 内存查看

准备工作,建几个测试类。等下就是要查看这几个类里面的属性 package visualvm;public class MultiObject { private String str; private int i; MultiObject(String str...

冷基
昨天
2
0
组装一台工作游戏两用机

一、配置清单如下: 分类 项目 价格(元) 主板 华硕(ASUS)TUF Z370-PLUS GAMING II 电竞特工 Z370二代 支持9代CPU 1049 CPU 英特尔(Intel) i7 8700K 酷睿六核 盒装CPU处理器 2640 风扇 九...

mbzhong
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部