git的基本操作与介绍

125 阅读2分钟

git常用于多人开发同一个项目,需要共同遵守规则来维护一份代码(远程仓库)。

git的基本概念

在使用git之前需要了解git的基本概念:

  • 版本库.git(或.github)

    • 当我们使用git管理项目代码时,会发现项目根目录一个.git 文件,这个文件称为版本库。
    • .git文件另一个作用就是在它创建的时候,会自动创建master分支,并将HEAD指针指向master分支。
    • 可以通过git init 来创建含.git的项目
  • 工作区(workspace)

    • 本地项目存放文件的位置,也是平时对代码进行改动的地方
  • 暂存区(index)

    • 暂时存放文件的地方,通过add添加代码到缓存区域
  • 本地仓库(Repository)

    • 可以使用commit命令将暂存区缓存的代码提交到本地仓库
  • 远程仓库(Remote)

    • 代码托管存储的地方(GitHub、gitee等)

git

git常用命令

git配置命令

  • 列出当前配置

    git config --list
    
  • 配置用户信息

    #配置用户名
    git config --global user.name "your name"
    #配置用户邮箱
    git config --global user.email "youremail@email.com"
    

git分支管理

  • 查看本地分支

    git branch
    
  • 创建分支

    git branch xxx
    
  • 切换分支

    git checkout <branch-name>
    
  • 删除分支

    git branch -d <branch-name>
    
  • 合并分支(内容整合)

    git merge <branch-name>
    
  • 重名名分支

    git branch -m <old-branch-name> <new-branch-name>
    

撤销操作

  • 撤销工作区修改

    git checkout --
    
  • 暂存区文件撤销

    git reset HEAD
    

状态查询

  • 查看状态

    git status
    
  • 查看历史操作记录

    git reflog
    
  • 查看日志

    git log
    

基本操作流程

  • 创建本地仓库

    git init
    
  • 链接本地仓库与远程仓库

    git remote add orgin
    orgin默认是远程仓库别名 url可以使用https或者ssh的方式创建
    
  • 从远程仓库拉取项目

    git clone <url>
    
  • 检查配置信息并配置用户信息

    git config --list
    git config --global user.name "your name"
    git config --global user.email "your email"
    
  • 提交工作区所有文件到暂存区

    git add .   /   git add *
    
  • 撤销、丢弃工作区的修改

    git checkout --<file>
    
  • 取消暂存区已经暂存的文件

    git reset HEAD <file>
    
  • 查询当前工作区所有文件的状态

    git status
    
  • 比较工作区中当前文件和暂存区之间的差异

    git diff
    
  • 暂存区提交到本地仓库

    git commit -m [message]
    
  • 比较暂存区与本地仓库的差异

    git diff --cached
    
  • 查看历史记录

    git log #可以显示所有提交过的版本信息
    git reflog  #常用(可以查看所有分支的所有操作记录)
    git log --greph #图形显示,更直观
    
  • 创建分支

    git branch <branch-name>
    
  • 切换分支

    git checkout <branch-name>
    
  • 指定分支合并到当前分支

    git merge <branch-name>
    
  • 获取远程仓库信息

    git fetch <远程主机名> <分支名>
    
  • 将本地仓库某分支推送到远程仓库上

    git push [remote-name] [branch-name]
    
  • 查看远程仓库的详细信息

    git remote show origin
    
  • 拉取远程仓库的更新,并与本地分支合并

    git pull