一.什么是git?
git是一款分布式版本管理,比svn灵活,性能更加优越,现在国内越来越多的开发者都在使用git
二.何为分布式?
与svn不同,git分为远程(remote)仓库与(location)仓库,开发者即可以将代码提交到本地仓库,也可以提交到远程仓库,为程序开发带来了大大的便利。
三.git的工作原理
git分为两个区域:1>工作区域
2>版本控制区域(.git文件)
顾名思义,工作区域就是我们的project所在的地方。
版本控制区域中又被分为了暂缓区与分支区(HEAD指针一直指向了默认branch)
工作流程:我们在工作区完成了一个业务,将工作区的内容添加到暂缓区,再将暂缓区的内容提交到分支中,最终我们把本地仓库push到远程仓库。
四.常用的git指令
git init /** 初始化一个git仓库 */
git clone 仓库url /** 将远程仓库克隆到本地 */
git add . /** 将工作区内容添加到暂缓区 */
git commit -m "版本信息" /** 将暂缓区内容提交到分支中 ,git的commit操作必须提供版本信息的描述*/
git config -l /** 查看git的配置文件,.git文件下会用一个config文件,里面存放这git的相关配置,如成员的name,成员的email,远程仓库的url,git指令别名信息.... */
git config alias.ci "commit -m" /** 为git指令起别名 这里是将commit -m起了一个ci的别名。注意:如果是单指令无需用"",如git config alias.st status*/
git config -global /** 为git设置全局(整台pc)的配置 */
git status /** 查看当前状态 */
git log /** 查看版本历史记录 */
git pull /** 更新本地仓库 */
git push /** 将本地分支提交到远程仓库 */
git rm /** 删除某个文件,注意:这个指令仅仅是对于暂缓区的,不会影响到分支中的信息,因此需要进行一次git commit -m 操作 */
git reset --hard HEAD^ /** 回退到上一版本,HEAD^^代表着回退到上两个版本,HEAD~100代表着回退到前一百个版本,git reset --hard 版本号 回退到这个版本号的版本。 git的一个强大之处在于可以无限次的返回,即可以回退到之前的版本也可以回退到之后的版本*/
git reflog /** 查看指令使用记录,可以获取到我们回退前的版本号 */
git diff /** 查看所有文件的最新改动 */
五.知名的git站点
github就不用谈了,而且还提供了fork与图形化工具,但是要使用私有仓库需要付费
git.oschina.net 开源中国提供了公开与私有的git仓库,关键它是免费的
六.自己常用的git指令别名
git config --global alias.cfg config
git cfg --global alias.ci "commit -m"
git cfg --global alias.st status
git cfg --global alias.log1 "log --preety=oneline"
git cfg --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"