美文网首页
[git专题-01] git基础入门

[git专题-01] git基础入门

作者: ccczyl2006 | 来源:发表于2019-11-14 16:26 被阅读0次

Git概念及安装

  • Git为分布式版本控制系统,相比较于集中型的版本控制系统最大的特点是记录快照而非差异比较。使用Hash散列来记录快照。

  • Git使用中的几个概念:

    • 本地仓库:存在于本地的版本管理仓库,

    • 远程仓库:对本地仓库的一个备份,另可以作为多人协作的类似共享仓库的概念。

    • 三个工作区:工作区(独立的内容,在此基础上修改或者新增),Git仓库(项目元数据和对象数据库的地方),暂存区域(是一个文件,保存下次将提交文件列表信息,被称为索引)。

  • Git支持在Windows,Linux,macOS运行,在Ubutun系统下安装使用:sudo apt install git命令即可。

  • 安装完成后配置用户信息,设置的配置文件会在~/.gitconfig文件中。该配置文件针对该用户下的建立的所有Git仓库都有效。常用的配置信息如下(配置一次即可):

    # 配置提交时的用户名和邮箱
    ~ git config --global user.name  "YuanJianfeng"
    ~ git config --global user.email "93628775@qq.com"
    # 配置颜色自动以及git使用时的默认编辑器为vim
    ~ git config --global color.ui auto
    ~ git config --global core.editor vim
    # 解决git log命令显示时的提交注释中文乱码以及中文文件名16进制显示问题
    ~ git config --global i18n.commitencoding=utf-8
    ~ git config --global i18n.logoutputencoding=utf8
    ~ git config --global core.quotepath false
    

Git常用命令

  • 建立仓库:可使用以下两种方式:

    #1 在现有目录中初始化仓库。会在该目录下生产.git目录,--bare参数直接生成仓库,用在仓库服务器,之后与远程仓库关联
    git-demo1:$ git init 
    git-demo1:$ git remote add origin git@gitee.com:ccczyl2006/git-demo1  #与远程仓库关联
    git-demo1:$ git push -u origin master    #推送到远程仓库的master分支并建立关联。注意仓库必须本地有提交
    
    #2 远程克隆现有的仓库。会在当前目录下创建仓库名对应的目录.建立spring-framework目录
    ~ git clone https://github.com/ccczyl2006/spring-framework   
    
  • git的工作流程:git add [参数]命令增加工作区文件到暂存区。

    #1 git add 用于增加未被纳入版本库的文件和自上次提交后的文件有新的修改的文件到暂存区 
    #1.1 增加具体的文件到暂存区
    git-demo1:$ git add README
    #1.2 当前版本库下的所有文件
    git-demo1:$ git add .
    
  • git commit -m '简短说明':该命令把暂存区中的文件提交到版本库。

    git-demo1:$ git commit -m 'first commit'
    [master 00e30ba] first commit
    1 file changed, 6 insertions(+)
    create mode 100644 index.html
    
  • git status::显示git仓库的状态。下述输出表示文件还未纳入版本系统管理。

    # git status: 显示git仓库的状态, 带参数-s表示使用简短的信息显示git仓库状态。??表示未纳入版本库,M表示文件修改.在oh-my-zsh的git插件支持下,两命令的简写为gst和gss(带-s参数)
    git-demo1:$ git status
    On branch master
    Initial commit
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
            README
    nothing added to commit but untracked files present (use "git add" to track)
    
  • git log:查看历史提交信息,支持格式化信息显示:

    • -p选项:用来显示每次提交的内容差异。-n选项:n代表数组,显示最近n次的提交。
    • -stat选项:提交的简略的统计信息。--oneline:每一次提交单行显示。
    • --graph:图标方式显示,存在分支合并的情况下显示非常直观。
    • --pretty选项:使用不同默认格式的方式展示提交历史.包括以下子选项:oneline, short, full, fuller, format
  • 撤销操作

    • 新增文件后使用命令git add已提交到暂存区,但项目的实际需求是该部分文件不需要纳入版本控制。

      git-demo1:$ git add ./idea
      git-demo1:$ git reset HEAD ./idea   #该部分文件去除版本控制
      
      # 在版本库根目录下新建文件.gitignore控制哪部分文件不需要版本控制 https://www.gitignore.io/
      # 语法如下:
      # .idea/
      
    • 已纳入版本库管理,修改后未暂存,丢弃修改。

    git-demo1:$ git checkout -- README.md   #从版本库中检出 特别注意需要 
    使用--加文件
    
    • 已纳入版本库管理,修改后已暂存,想丢弃这部分修改。实际操作先从暂存
      区删除,在从版本库检出。

      git-demo1:$ git reset HEAD README.md    #先从暂存区中撤回
      git-demo1:$ git checkout -- README.md   #从版本库中检出覆盖工作区的文 
      件。特别注意需要使用--加文件
      
    • 提交后发现漏掉了几个文件没有提交,带--amend参数再提交一次会被认为为同一次提交。

      git-demo1:$ git commit --amend
      
    • 版本回退功能。使用命令git reset HEAD [版本Hash]。内部使用HEAD指针指示当前指向的版本,所以可以使用以下方式回退版本:

      # 回退到当前指向的版本
      git-demo1:$ git reset --hard HEAD
      # 回退到上一版本,HEAD^ ,2个^^代表回退到上两个版本.~n代表回退n个版本
      git-demo1:$ git reset --hard HEAD^
      # 回退到指定hash值的版本,hash值可以取前6位
      git-demo1:$ git reset --hard 96ae43
      
      # 如果又想回退到最新的版本 因为使用git log看不到最新版本的hash 所以首先要使用git reflog找到历史提交的最新版本的hash
      git-demo1:$ git reflog
      git-demo1:$ git reset --hard 16a4585
      
      

相关文章

  • [git专题-01] git基础入门

    Git概念及安装 Git为分布式版本控制系统,相比较于集中型的版本控制系统最大的特点是记录快照而非差异比较。使用H...

  • 网站资料

    Git基础 Git教程-廖雪峰的官方网站 猴子都能懂的Git入门 git tag常用操作

  • Git资料集

    Git这些高级用法,喜欢就拿去用 Git基础知识 Git廖雪峰 猴子都能懂的Git入门 git tag常用操作

  • Git

    00. git 基础 廖雪峰老师-Git教程 01. git config config 配置有【01】syste...

  • git入门(一)

    1.Git基础入门 本文参考:https://git-scm.com/ 1.0 git的三种状态 未修改,已修改,...

  • 工具集#01 Git 代码版本控制

    目录:Git 入门Git 进阶Git 高阶总结 1. Git 入门 Git global setup Create...

  • 工具集#01 Git 代码版本控制

    目录:Git 入门Git 进阶Git 高阶总结 1. Git 入门 Git global setup Create...

  • Git使用

    GUI for git|SourceTree|入门基础 AndroidStudio第一次提交项目代码到git服务器...

  • git 入门

    git 入门学习笔记----3个入门命令:git init、git add、git commit -v 学习场景(...

  • Git book

    目录 git community book git入门 git笔记 git 用法 git安装使用手册 git命令大...

网友评论

      本文标题:[git专题-01] git基础入门

      本文链接:https://www.haomeiwen.com/subject/jkwrictx.html