美文网首页
Git基本教程

Git基本教程

作者: 毅冷锋 | 来源:发表于2017-12-06 19:19 被阅读0次

git作为一个分布式版本控制软件,已经成为我们工作中使用的最广泛的工具。
git详细介绍点这里

三个概念

  • 已提交(mommitted)
    该文件已经被安全滴保存在本地数据库种了。例如git clone 其实就是这个状态
  • 已修改(modified)修改了某个文件,但还没提交保存
  • 已暂存(staged)把已经修改的文件放在下次提交时要保存的清单里

三个区域

  • 工作区(也称工作目录),working directory
  • 暂存区 ,satge/index
  • 历史记录区(也称版本区),history

    转个阮一峰老师的图吧 QQ截图20171205221637.png

几个常见名词

  • remote 远程仓库
  • origin 一般默认远程仓库的标签
  • master 主支干
  • Dev 分支

基础命令

  • 第一次使用需要设置用户名和邮箱
    git config --global user.name "name"用户名
    git config --global user.email "email address"邮箱
  • git add . 把文件的所有改变都放入暂存区
  • git status 查询文件状态
  • git rm 删除文件
  • git mv 重命名文件
  • 提交到本地仓库有几个命令
    git commit -am "备注信息"
    git commit -a "备注信息"
    git commit -m "备注信息"
    注意备注信息是必须要填写的,而且尽量简明扼要
  • git pull 用来更新本地仓库版本的
  • git push 提交到远程仓库

远程本地操作

  • git clone 远程下载,最常用的命令
    git clone origin "项目地址"
    注意,地址协议有几种、http,https,git等,但是推荐用ssh,也就是git协议,因为最快
  • 使用ssh协议,则必须要有公私钥对,没有的话,必须要设置一个,不会的点这里
  • 修改文件用vim打开,修改后退出保存,安利自己写的vim使用教程
  • 然后git add. git commit git push

本地文件推送到远程仓库

  • mkdir 文件夹名 新建文件夹
    touch 文件 新建文件
  • 最重要的步骤:git init
    git是本地仓库和远程仓库之间的传送工具,可是我们刚刚只是建了文件夹,
    文件夹又不是仓库,自然无法git传送,所以我们要把文件夹变成仓库
    这里重要的概念就是,仓库里有个隐藏的.git的文件,只要文件夹里有.git 就行了
    git init初始化文件夹为本地仓库
  • 这时我们git add. git commit git push 时 它会报错说找不到远程库
    我们clone的时候,远程仓库会自动建立两者的链接关系,但我们只在本地创建仓库
    和远程库就没有关系了,这时我们就得让它俩有关系
    git remote add origin 远程库地址添加远程库标签
    git remote -v 查询本地仓库的远程仓库地址
    git remote set-仓库地址 仓库名 修改远程仓库地址
  • 这时我们就可以提交了

分支操作

  • 分支操作可以说是git 使用中最重要的操作了(不懂什么是分支,请自行谷歌/百度),首先要知道,仓库有且只能有一个maser分支,可以说是主干,所有提供给用户使用的正式版本,都在这个主分支上发布。

  • git branch查看本地分支列表
    git branch -r查看远程分支列表
    git branch -a 查看所有本地远程分支

  • git branch dev 创建本地库dev分支
    git checkout dev 切换到dev分支
    这两个可以简写成下面这个命令
    git checkout -b dev

  • 合并分支
    首先用git checkout 分支名 切换到需要合并的分支上去,一般都是master分支
    然后使用git marge 需要被合并的分支名 合并分支到主分支上

  • 删除分支
    git branch -d 分支名

  • 删除远程分支
    git push origin --delete [branch-name]
    git branch -dr remote/branch

撤销操作/版本回滚

  • 这次简单介绍下,我理解也不是很透彻,之后会专门写一篇关于此的文章
  • 一般是两种用法git resetgit revert
  • git reset --"参数"一般参数有hardmixedsoft
    git reset --hard 版本回退,同时工作区和暂存区的文件也回到此版本时的状态
    git reset --mixed 默认参数,改变引用文件,不改变工作区文件,但是会改变暂存区文件
    git reset --soft只修改文件,不会改变暂存区和工作区文件
    可以这样理解,当你需要彻底回到某个提交版本时,就用hard;若是想保留自己修改过的文件,就用mixed,保留下文件源码,这也是默认方式;若是仅仅只是想撤销某次提交,就用soft,保留下所有修改文件
  • git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交
    git revert HEAD 撤销前一次 commit
    git revert HEAD^ 撤销前前一次 commit
    git revert 的撤销并不是意义上删除,而是重新提交一次commit命令,
    只是这个命令内容刚好和要撤销的那个命令完全相反,造成了回到错误提交状态之前,但是你查记录会发现,里面会有之前错误的commit ,也有这次的commit
  • 两者区别,最大的区别在于,git revert 时,版本是前进的,而git reset时,版本其实是回到撤销的命令的版本
    我的理解是,revert,就相当于政府连续发布了两条完全相反的命令,造成了状态上的恢复,但是大家知道确实有过这个命令,而reset则是干脆删除了这个命令,直接强制恢复,抽取了的记忆,这个是断层的,不存在了,认为什么都没发生
  • 更深层的就只能大家在使用中去体会了,我以后会写一篇详细的文章。

写在最后

  • 当有冲突时,要先修改文件,再提交
  • 更多git使用教程请点这里

相关文章

  • git教程03——远程仓库

    git教程01——windows系统下教科书式安装gitgit教程02——详细的git基本操作命令git教程04—...

  • git教程05——克隆github上的代码到本地

    git教程01——windows系统下安装gitgit教程02——详细的git基本操作命令git教程03——远程仓...

  • git教程04——用git命令将本地代码提交到github上

    git教程01——windows系统下安装gitgit教程02——详细的git基本操作命令git教程03——远程仓...

  • git教程01——windows系统下教科书式安装git

    git教程02——详细的git基本操作命令git教程03——远程仓库git教程04——2种方法将本地代码提交到gi...

  • Git 基本教程

    [TOC] git 常用概念和基础 git 分支的概念 该对象包含一个指向暂存内容快照的指针,包含本次提交的作者等...

  • Git基本教程

    git作为一个分布式版本控制软件,已经成为我们工作中使用的最广泛的工具。git详细介绍点这里 三个概念 已提交(m...

  • Git版本控制与工作流

    专为设计师而写的GitHub快速入门教程 git - 简明指南 学习Git的在线互动教程 基本概念Git是什么?G...

  • GIT常用指令

    备注 本文章为廖雪峰的git教程学习笔记 基本指令 git init //初始化git add filenam...

  • Git基础

    git教程 git 教程 廖雪峰git 教程 官方教程 git 全局设置 name和emailgit config...

  • Git和Markdown

    1、写作背景 20200814内训主题:git使用 和 Markdown使用 2、参考网址 Git基本使用教程[...

网友评论

      本文标题:Git基本教程

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