什么是Git?–不止会用
Published:
什么是Git?--不止会用
关键词: 分布式 代码版本控制工具
Git的数据结构
Git术语中,文件称为 “blob”,只是一堆字节
目录称为 “tree”(下方的图是一个例子)
在 Git 数据存储中,所有对象都由其 SHA-1 进行内容寻址哈希

Git的四个区域与转换
Git本地有三个工作区域:
工作区(Working Directory)
暂存区(Stage Index)
本地仓库区(Repository) 远程仓库区(Remote Repository) 
Git的原理
Git会对top-level的目录中拍一系列快照
Git记录是按时间顺序排列的快照列表
Git QA
Q1:git发生冲突的时候你是怎么解决的呢?
首先需要查看哪里冲突了。可以使用git status查看所有冲突文件的状态 然后打开这些冲突的文件
<<<<< HEAD
//来自目标分支的代码
=======
// 来自要合并的分支
>>>>>>> branchname
手动删除这些记号和多余的代码,保留最终想要的代码 然后git add和git commit
Q2:git rebase和merge的区别
git rebase是将一个分支的提交逐个应用到另一个分支上,使得提交历史变得更加线性。合并之后没法一目了然的track每个分支做了什么
git merge是将两个分支上的代码提交合并到一个新的提交。merge时会创建一个新的合并提交,将两个分支的提交历史连接在一起。
Q3: git add和git stage的区别
没有区别
Q4: git fetch 和 git pull的区别
git pull从远程仓库提取特定分支的新的提交,来更新本地仓库的目标分支
git fetch从所需的分支提取所有的新的提交,并且存储到本地仓库的新分支中,如果要把这些更改同步到目标分支当中,还需要进行git merge
Q5:git stash有什么用?
发生冲突时,可以通过git stash命令把工作区的修改提交到栈区,保存工作区的修改。 之后可以使用git stash pop弹出之前的修改。
