zoukankan      html  css  js  c++  java
  • Git安装使用指南

    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/

      解压gittar 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

      目前仅对eclipseHBuilder做过实验。

     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->下一步->(填写远程主机信息)->下一步->下一步->下一步->(选择本地路径)->下一步->下一步->完成

     

      HBuildergit插件有个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

    我驰骋天下,守你盛世繁华
  • 相关阅读:
    python 命令行传参
    chardet模块下载&安装
    【解决方案】编码问题:UnicodeDecodeError: 'XXX' codec can't decode byte 0xad in position...的错误
    [解决方案]Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level
    perl笔记
    字符串操作
    c++错误及解决方案随记
    本地Java程序访问HTTPs遇到的问题
    学习笔记 : 异常处理
    学习笔记 : python 文件操作
  • 原文地址:https://www.cnblogs.com/lotuses/p/9876138.html
Copyright © 2011-2022 走看看