最近在修改mybatis-generator的插件,让自动生成的代码更满足符合开发的要求,因为是业余研究,经常需要下班后在自己电脑上来继续之前的工作,之前的状态是下班之前把在公司的电脑上写的代码拷到U盘,回去之后再把代码拷到自己电脑中替换掉之前的,某些特定情况的数据(如:数据库连接信息等)还需要根据环境来调整,每次搭建开发环境都需要较长时间,这样一折腾之后连开发的激情都没有了,为了解决这个问题就需要借助功能强大、人气颇旺的版本控制工具——GitHub来管理。

一、简介

Git 是一款免费、开源的分布式版本控制系统。而 GitHub 主要提供基于 git 的版本托管服务。也就是说现在 GitHub 上托管的所有项目代码都是基于 Git 来进行版本控制的,所以 Git 只是 GitHub 上用来管理项目的一个工具而已,GitHub 的功能可远不止于此。

二、Git安装

官网 下载安装即可,安装成功后在桌面右键可以看到下图所示的Git Gui HereGit Bash Here

安装成功右键显示

需要在哪个文件夹下运行Git 打开该文件夹,右键 ==> Git Bash Here 即可打开命令窗口,如下图:

命令窗口

三、常用命令列表

基础命令

<!-- 初始化 git 仓库 -->
git init

<!-- 与远程 git 仓库关联 -->
git remote add origin git@github.com:xiachengwei5/spring-mvc.git

<!-- 查看你当前 git 仓库的状态信息,如:文件修改、删除等的信息 -->
git status

<!-- 将需要提交的文件放在缓存中 -->
git add README.md
<!-- 如果需要提交的文件很多,对每个文件都这样处理太繁琐,可以通过如下命令一次性添加所有变更后的文件 -->
git add --all
git add .

<!-- 移除缓存 -->
git rm --cached

<!-- 提交在缓存中的文件 -->
git commit -m "提交说明"

<!-- 将提交的信息推送到默认的远程仓库 -->
git push
<!-- 将提交的信息推送到指定的远程仓库 -->
git push -u origin master

<!-- 从默认分支更新文件 -->
git pull
<!-- 从指定分支更新文件 -->
git pull origin master

<!-- 查看标签 -->
git tag
<!-- 新建标签 -->
git tag v1.0
<!-- 切换到指定标签 -->
git checkout v1.0

<!-- 查看日志 -->
git log

分支

<!-- 查询本地的分支情况 -->
git branch
<!-- 查询远程仓库的分支情况 -->
git branch -r
<!-- 新建分支 -->
git branch 分支名称
<!-- 删除分支 -->
git branch -d
<!-- 强制删除分支 -->
git branch -D

切换

切换到指定分支、标签,或撤销还没有 add 进暂存区的文件,具体用法如下:

<!-- 切换当前分支为source -->
git checkout source
<!-- 新建一个a分支,并且自动切换到a分支 -->
git checkout -b a

<!-- 切换到指定标签 -->
git checkout v1.0

<!-- 撤销a.md -->
git checkout a.md

合并

合并分支,一般是在master分支下合并其他分支,具体用法如下:

<!-- 直接将两个分支合并,合并之后两块还是相对独立的 -->
git checkout master
git merge source

<!-- 根据相关逻辑将两个分支合并,合并之后两个分支是糅合的 -->
git checkout master
git rebase source

别名

对使用很频繁,并且命名比较长的操作每次输入都比较麻烦,可以通过alias 来起简单好记的别名:

<!-- 表示 co 等同于 checkout -->
git config --global alias.co checkout
<!-- 可以根据习惯来定制一些组合 -->
git config --global alias.psm 'push origin master'

<!-- 格式化日志信息 -->
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)% d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"

差异

<!-- 查看当前文件与暂存区文件的差异 -->
git diff
<!-- 比较两次提交之间的差异 -->
git diff <$id1> <$id2>
<!-- 在两个分支之间比较 -->
git diff origin/master origin/source
<!-- 比较暂存区和版本库差异 -->
git diff --staged

设置用户名和邮箱

git config --global user.name "xiachengwei5"
git config --global user.email "xiachengwei5@163.com"

其他命名

<!-- 开启Git着色 -->
git config --global color.ui true

四、解决中文乱码的问题

解决通过git status查看中文文件名乱码

git config --global core.quotepath false

在git bush中右键==>options ,选择编码格式:

选择字体和编码格式

五、参考资料

从0开始学习 GitHub 系列

从0开始学习 GitHub 系列——电子书下载


颭夏
49 声望1 粉丝

大量学习,不断整理,持续输出