#Git学习 ##1.Git基本命令 git branch 查看本地分支git
git branch -r查看远程分支学习
git checkout -b backend_1_39_0_base 建立本地分支指针
git branch —set-upstream-to=origin/backend_1_39_0_base 与远程分支创建联系对象
git status 获取本地分支状态it
git pull 拉取远程仓库ast
git add . 提交到暂存区stream
git commit -m "lalalal"提交到本地仓库object
git push 提交到远程仓库file
git reset --hard commit_id 转换到某次commit方法
git log 能够查看提交历史,以便肯定要回退到哪一个版本
git reflog 查看命令历史,以便肯定要回到将来的哪一个版本
git diff #是工做区(work dict)和暂存区(stage)的比较
git diff --cached 是暂存区(stage)和分支(master)的比较
git checkout -- file 能够丢弃工做区的修改(file是文件名)
命令git checkout -- readme.txt意思就是,把readme.txt文件在工做区的修改所有撤销,这里有两种状况:
一种是readme.txt自修改后尚未被放到暂存区,如今,撤销修改就回到和版本库如出一辙的状态;
一种是readme.txt已经添加到暂存区后,又做了修改,如今,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
git checkout <name> 切换分支
git merge <name> 合并某分支到当前分支
##2.Git对象模型 每一个对象(object) 包括三个部分:类型,大小和内容。大小就是指内容的大小,内容取决于对象的类型,有四种类型的对象:"blob"、"tree"、 "commit" 和"tag"。
每一个目录都建立了 tree对象 (包括根目录), 每一个文件都建立了一个对应的 blob对象 . 最后有一个 commit对象 来指向根tree对象(root of trees), 这样咱们就能够追踪项目每一项提交内容
##3.工做区和暂存区
工做区:电脑能看到的目录
版本库(Repository)
工做区有一个隐藏目录.git,这个不算工做区,而是Git的版本库。
Git的版本库里存了不少东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为咱们自动建立的第一个分支master,以及指向master的一个指针叫HEAD。
把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的全部内容提交到当前分支。