git

git 常用命令

git checkout
git pull
git push
git add 
git commit
git fetch
git rebase
git merge
git cherry-pick
git reset

git 基础概念

git属于分布式的文件版本管理系统,每一个端都是一个完整的版本库,我们可以直接和其他端交换代码,只不过一般来说会建立一个中心端,我们通过这个端来进行代码的更新和拉取,git是通过记录每一次文件变更来达到版本管理的目的。每一次提交提交的都是文件的变更,而不是所有的文件。有一个HEAD指针会指向最新的版本变更

git工作区,缓存区(stash),版本库

  1. 工作区就是我们的工作的文件夹,执行了git init以后,会在文件夹中创建.git隐藏文件
  2. 缓存区在执行了git add 会缓存我们的变更,我们之后再执行git commit,就会在版本库新增一个版本,将文件变更记录提交到版本库
  3. 版本库保存的就是所有变更记录版本

git 将多个提交合并为一个提交的方法

git log
git reset HEAD~3
git add .
git commit -m "xxx"

git log 可以查看所有提交的版本
如果要将前三个版本的提交记录合并,就可以执行git rest HEAD~3,如果是5个就是git reset HEAD~5
这样我们的HEAD指针就会指向我们提交前的第三个版本
我们的工作区文件与版本库最新版本就会出现前三个版本的提交差异
执行git add,git commit以后,我们就可以将这三个版本的提交合并为一次提交了,
我们重新执行git log,查看就会发现我们原来的三个提交不见了,变为了我们最新的一次

git rebase合并代码

要保持git版本线线性美观简洁,推荐使用git rebase来合并代码
在多人开发同一条代码线的时候,我们用git merge或者git pull(自动merge)的时候,会产生一条merge记录。因为每个人的开发进度不一,在git pull ,git push以后,就会出现多个fenhca

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • [TOC] Git 内部实现原理剖析[https://www.jianshu.com/p/8154ac47d406...
    Whyn阅读 4,312评论 0 0
  • 一:Git是什么?Git是目前世界上最先进的分布式版本控制系统。工作原理 / 流程: Workspace:工作区I...
    静水流深ylyang阅读 3,233评论 0 2
  • 文章略长,预计阅读时间28分钟 一.git init 知识点: 创建版本库的两种方式可以创建git-demo目录,...
    shuxiaotai阅读 3,110评论 0 0
  • 因为过几天就要去适应新的职位了,虽然之前也用过git做版本控制管理,但都是基于自娱自乐的形式,所以都是需要用到什么...
    TanzeyTang阅读 2,844评论 0 0
  • git 帮助 git的三种状态 已提交(committed),已修改(modified)和已暂存(staged) ...
    RevinDuan阅读 4,890评论 0 0