• git使用教程


    git使用教程

    前言

    工欲善其事,必先利其器。

    作为一名程序员,版本控制工具是必做掌握的一个基本工具,最常用的版本控制工具有svn和git。相对于svn,git的分布式控制、分支特性、灵活性等特点,使得越来越多的项目管理采用git作为版本控制工具以提交开发效率。但git独特的命令及分布式控制的理念,导致其学习成本较svn要高。本文将带你走进git的世界,从入门到进阶,边学边练,轻松掌握工作中常用的命令及操作。

    SVN是subversion的缩写,是一个开放源代码的集中式版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理

    git是用于Linux内核开发的版本控制工具。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。git的速度很快,这对于诸如Linux内核这样的大项目来说自然很重要。git最为出色的是它的合并追踪(merge tracing)能力。

    安装

    安装之前可以查看一下git版本,看看电脑是否已经安装了git

    git --version
    
    1. windows安装地址

      官方下载地址

    2. Debian/Ubuntu

      sudo apt-get install git
      
    3. Fedora

      #Fedora 21版本以前
      sudo yum install git 
      
      #Fedora 22版本以后
      sudo dnf install git
      

    基础命令

    1. 查看配置

      git config --system --list
      
    2. 查看global配置

      git config --global --list
      
    3. 设置用户信息

      git config --global user.name "Your Name"
      git config --global user.email "email@email.com"
      

      上面两个全局变量值是必须设置的。其他大部分都很少用得上,若需要查看所有配置,可以输入命令 git help config 查看。

    提交代码

    创建版本库

    #创建工作目录,可以在图像化界面新建文件夹
    mkdir gitdemo
    cd gitdemo
    #把这个目录变成Git可以管理的仓库
    git init
    #Git仓库创建完成,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录,该目录是存储的是git的配置文件,默认是隐藏的。
    

    添加文件

    #在工作区创建一个readme.txt的文件,内容如下
    Git is a version control system.
    Git is open source.
    #将文件添加至暂存区
    git add readme.txt
    #将文件添加到版本库
    git commit -m "新增readme文件"
    #git commit命令后面的-m参数表示注释,良好的注释可以增加代码的可读性和可维护性。
    
    #上面的命令是添加单个文件至暂存区,可以反复多次使用。如果需要将所有改动全部添加至暂存区,可以使用下面的命令
    git add -A
    

    信息查看

    #看看当前工作区的状态
    git status
    #查看工作区修改内容
    git diff 
    #diff 是difference的缩写,查看差异。
    #查看暂存区待提交内容
    git diff --cached
    #查看提交记录
    git log
    #查看前n个提交记录
    git log -n 1
    #如果嫌上面显示的信息太多的话
    git log –pretty=oneline
    #查看指定版本间的提交记录
    #git log (最老版本..最新版本]
    git log 15c1e01..bf9fe41
    #查看前n个提交记录的详细修改内容
    git log -n 1 -p
    #查看版本间的差异
    git diff 15c1e01
    #代码块追溯
    git blame readme.txt
    

    远程仓库

    #######推送本地版本库##########
    #创建SSH key
    $ ssh-keygen -t rsa -C "youremail@example.com"
    ##会在一个文件夹里面生成一个私钥 id_rsa和一个公钥id_rsa.pub。
    ##.ssh如果不做特殊处理的话,一般是在C:UsersAdministrator目录下。
    ##如果看不到.ssh文件,可以使用ls -ah指令查看隐藏文件夹即可
    #执行查看公钥的命令cat ~/.ssh/id_rsa.pub 。
    ##然后在github上添加ssh密钥
    #推送本地版本库
    git remote add origin https://github.com/****/gitdemo.git
    git push -u origin master
    #第一条命令,是将本地创建与远程服务器上创建的项目进行关联。添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的。
    #第二条命令,是将本地仓库的所有版本推送到远程仓库中。由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
    
    #推送成功后,刷新GitHub页面,发现远程库的内容与本地一模一样。
    #从现在起,只要本地作了提交,就可以通过命令:
    git push origin master
    
    #######克隆远程版本库##########
    #在本地选择合适的项目工作空间,使用git clone命令克隆项目
    git clone https://github.com/xxxxx/gitproject.git
    

    版本管理

    #版本回退操作,可以使用如下2种命令
    #一、如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推
    git reset --hard HEAD^
    #如果回退100个版本,可以写成 HEAD~100
    git reset --hard HEAD~100
    #二、退回版本号
    git reset --hard 版本号
    #可以通过如下命令即可获取到版本号
    git reflog
    
    #撤销修改,把文件在工作区做的修改全部撤销
    git checkout --flie
    
    
    

    参考链接

  • 相关阅读:
    css3新特性合集
    前端面试必备的css盒子模型
    激动人心的第一天啊
    Simulink 自动代码生成原理
    什么是 Target Language Compiler
    A*算法 (MATLAB) -路径搜索
    路径搜索 – Dijkstra 算法 (MATLAB实现)
    客户端测试
    test
    【AtCoder Regular Contest 110 选做】D
  • 原文地址:https://www.cnblogs.com/tomyyyyy/p/12504590.html
Copyright © 2020-2023  润新知