为什么需要学习git软件
我们在日常开发工作中需要对代码资源(html,css,js,java等)以及文档资源(img,doc,xls,ppt等)进行管理,所以就需要SCM工具(如svn,git等)进行管理。
概述
版本控制目前分为集中式版本控制和分布式版本控制
集中式版本控制缺点
- 中央服务器出现故障,则无法正常进行上传下载本地资源,有可能导致文件丢失。
- 文件冲突,多人协作开发时进行上传下载文件时可能导致冲突。
分布式版本控制缺点
- 由于需要搭建一个和远程服务器一模一样的资源库,所以需占用本地资源。
- 对网络要求比较高,否则本地和远程服务器的资源无法同步。
下载安装
我们进入官网进行下载:Git - Downloadshttps://git-scm.com/downloads其中包括了git和git的客户端访问工具GitHub Desktop
注意:
安装好git,右击出现Git GUI Here(不好用,所以用GitHubDesk代替) 和 Git Bash Here(Git 命令行)
git基本概念
commit
注意:
git会对本地仓库路径下的文件与本地git仓库中文件进行对比,不论新增,修改,删除,都需要进行commit提交操作才能保持本地文件同步。
branch-分支
多人协作开发时,git提供了分支功能,我们每个开发者将自己的文件提交到自己的分支当中,最后将每个人的分支进行合并,极大的减少了文件冲突。
版本号
GIT命令
仓库操作命令
git init
git clone
提示: git clone +服务器资源地址 +自定义项目名称(可选项)
git config
文件操作命令
git status
git add
git rm --cached
git commit (-m 表示提交备注信息)
git log(--oneline表示按行显示)
git revert
分支操作命令
git branch (注意创建分之前需要提交操作,否则创建失败)
git checkout
git checkout -b
git branch -d
git merge(当各分支存在相同文件时,需要手动解决冲突后进行提交至存储区)
标签操作命令
git tag (后面加上tagName和已提交的版本号)
远程仓库操作命令
git remote add
git push origin
注意:若采取的是SSH,还需要进行认证操作,其中需要生成认证证书等过程
git pull origin
扩展
我们在开发过程中可以通过IDE集成到第三方托管平台(如github,gitee等),但我们也可以自己搭建一个代码托管平台,比如通过极狐-gitLab软件搭建,它是基于Linux系统上安装执行的,我们可以通过官网下载https://packages.gitlab.com/gitlab/gitlab-ce,安装成功后可通过IDEA集成GitLab.具体搭建过程以及集成IDE等操作可参考自定义代码托管平台GitLab