最近在学习git的使用,有一些我的的理解,写出来和你们一块儿分享。git
分一下几点缓存
- Git介绍/认识Git
- 经常使用命令
- SourceTree工具的使用
用最多见的描述来讲,Git是一个分布式版本控制系统,我的以为这个说法虽然彻底正确,可是有点难理解,与其说是分布式不如换一个字,叫分散式版本控制系统。这也是Git和SVN最大的区别了,SVN你们都很熟悉,它是中心式的,代码是统一维护在服务器端的仓库中的,而Git虽然也有中心式版本库或者服务器,可是还多出来了一个本地仓库(local repository)的概念。服务器
我理解为在本地搭建了一个相似SVN的服务器,我本身的代码能够往这个本地仓库提交而不会对其余人形成影响,而当我须要将代码提交到远程版本库或者和其余人的代码进行合并时,则能够从本地的仓库进行提交。分布式
本地仓库相似于一个本地SVN服务器,它是由三个部分组成的:工具
正是由于本地仓库的工做空间由三个部分组成,因此咱们在提交工做代码到本地仓库时才有先add再commit的作法:学习
git add <filename>
指定文件 git add .
提交当前目录全部文件git commit -m "代码提交信息"
git push origin <branch>
提交到指定的远端分支
1 2 步骤实际操做的是本地仓库, 3步骤真的提交远端仓库fetch
git pull [remote] [branch]
远端地址 指定分支名称.net
这个命令会在你的工做目录中 获取(fetch) 并 合并(merge) 远端的改动。
注意
: 若是要合并的不是默认的master分支,也可选择合并到指定的分支。例: 本地分支是master 远端仓库是dev,也能够把dev合并到master分支,版本控制
git merge <branch>
code
git会尝试自动合并改动,可是并不会每次都成功,若是出现冲突则须要自行手动修改来合并,而且在改动后执行:提交本地仓库的操做
git clone [remote] [branch]
下图是所示就是上面所说起的模型和几个经常使用命令,通常来讲平常使用只要记住这6个命令也就够了,但要想你写过做的话,仍是不够的
待续
更多git的功能和用法我还没探究出来,先写这些和你们分享,但愿能解决一些困惑,一块儿交流共同进步。