最近在学习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步骤真的提交远端仓库
git pull [remote] [branch]
远端地址 指定分支名称
这个命令会在你的工作目录中 获取(fetch) 并 合并(merge) 远端的改动。
注意
: 如果要合并的不是默认的master分支,也可选择合并到指定的分支。例: 本地分支是master 远端仓库是dev,也可以把dev合并到master分支,
git merge <branch>
git会尝试自动合并改动,但是并不会每次都成功,如果出现冲突则需要自行手动修改来合并,并且在改动后执行:提交本地仓库的操作
git clone [remote] [branch]
下图是所示就是上面所提及的模型和几个常用命令,一般来说日常使用只要记住这6个命令也就够了,但要想你写过作的话,还是不够的
待续
更多git的功能和用法我还没探究出来,先写这些和大家分享,希望能解决一些困惑,一起交流共同进步。