简介
Git是一种分布式的版本控制,仓库中的信息会同步到本地的用户,这样就可以在本地查看历史版本。不会因为服务器损坏或者网络问题造成不能工作的情况(离线情况下可以提交push请求,等到有网络的时候会帮你进行提交)。
SVN是一种集中式的版本控制,他的内容放在中央的服务器。平时开发是在本地进行,这就需要我们从中央服务器进行获取,然后在工作,完成之后将自己的内容推送到中央服务器。这种方式的开发必须联网才可以工作,对网络带宽要求是比较高的。
下载与安装
这里贴一个阿里的下载地址,用国内镜像,相对于外网下载会快一些。
淘宝镜像
找一个版本然后下载64位的即可
基本配置
设置用户名与邮箱
git config --global user.name "xiaomo" # 名称
git config --global user.email 1923847362@xx.com #邮箱
查看一些配置
git config -l
本质上是在进行文件的读取,对配置文件进行修改。
工作原理
Git本地有三个工作区域:工作目录,暂存区,资源库。在工作目录进行代码的编写,然后会经过暂存区,最终来到资源库。
项目创建及克隆
本地创建:git init
克隆远程仓库 git clone [url]
文件操作
文件的四种状态:
- Untracked:未跟踪
- Unmodify:文件已入库,未修改
- Modified:文件已修改,仅仅是修改
- Staged:暂存状态
简单展示一下操作流程
在上图所示的流程中,我们先用git init初始化本地的仓库,然后使用git status查看一下当前文件的状态(没有文件可以被提交,因为此时还没有创建任何文件),接着我们在对应的文件夹下创建一个hello.txt,再用git status来检测,发现存在一个文件可以被提交,我们使用git add .来提交当前区域内的所有文件,然后查看文件状态,可以发现文件状态改变。最后使用git commit -m "new file hello.txt"来进行提交。
git add . 添加所有文件到暂存区
git commit -m "消息内容" 提交暂存区中的内容到本地仓库 -m 提交信息
关于忽略文件
对于我们使用编辑器创建的整个工程来说,并不是所有的文件都需要进行上传,因此可以忽略一部份文件上传有用的部分。
# 为注释
*.txt #忽略所有.txt结尾的文件,这样的话上传就不会被选中了
!lib.txt #但lib.txt除外
/temp #仅忽略项目根目录下的TODO文件,不包括其他目录temp
build/ #忽略build/目录下的所有文件
doc/*.txt #会忽略doc/notes.txt但不包括doc/server/arch.txt
上述就是Git所包含的一些基本使用和内容,我还会更新一篇使用码云的教程,在不久后发布,链接会贴在下方。