Git使用详解(30分钟理解Git)

GIt版本管理工具的强大之处不必多说,下面介绍下
首先说一下Git和SVN的区别.
Git是分布式管理系统,SVN是集中式管理系统.
Git不需联网就可使用,有一个本地仓库和远程仓库,SVN必须依赖网络.
Git比SVN更高效和快捷.
1.Git的安装:
在Linux上安装Git
如果你碰巧用Debian或Ubuntu Linux,通过一条sudo apt-get install git就可以直接完成Git的安装,非常简单.
老一点的Debian或Ubuntu Linux,要把命令改为sudo apt-get install git-core.
如果是其他Linux版本,可以直接通过源码安装。先从Git官网下载源码,然后解压,依次输入:./config,make,sudo make install这几个命令安装就好了。
在Mac OS X上安装Git
一是安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/
第二种方法更简单,也是推荐的方法,就是直接从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。
在Windows上安装Git
msysgit是Windows版的Git,从https://git-for-windows.github.io下载
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

2.Git的设置
设置你的用户名和邮箱,输入以下命令即可.

git config --global user.name "Your Name"
git config --global user.email "[email protected]"

注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

3.创建版本库
创建一个版本库非常简单,首先,找一个合适的地方,创建一个空目录
pwd命令用于显示当前目录。在我的Windows上,这个仓库于/f/liuxu_project/ShortestPath。
如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文
第二步,通过git init命令把这个目录变成Git可以管理的仓库

git init
Initialized empty Git repository in F:/liuxu_project/H5Test/.git/

如下图所示,你会发现当前目录下多了个.git文件,如果没有看到请设置显示隐藏文件,该文件是隐藏文件.这个文件是Git用来跟踪管理版本库的,没事千万不要乱改这个文件,改坏了版本库也就坏了.
创建版本库

4.Git最常用命令
查看版本库的状态
git status,输入命令之后会显示当前处在版本库的哪个分支,哪些文件被add等信息,还有查看版本库的差异,如下图

//查看版本库的状态
git status
//查看版本库的差异
git diff

查看版本库的状态

添加文件到本地仓库:

//表示将当前目录下所有文件全部添加到本地仓库
git add .
//添加单个文件readme.txt
git add readme.txt

提交到本地仓库

//提交add的文件到本地仓库
git commit -m"本地代码的核心功能"

推送到远程仓库

//推送到远程仓库
git push -u origin master

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样

克隆远程仓库,即可以克隆gitblit上的代码,还可以克隆github上的仓库源码

//克隆远程仓库
git clone 要克隆的远程仓库地址

创建与合并分支

//创建dev并切换到dev分支
git checkout -b dev
//查看当前分支,git branch命令会列出所有分支,当前分支前面会标一个*号。
git branch
//切换回master分支
git checkout master
//dev分支的工作成果合并到master分支上
git merge dev
//删除dev分支
git branch -d dev
//合并某分支到当前分支
it merge <name>
//可以看到分支合并图
git log --graph
//显示提交日志
git log

忽略特殊文件
在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。
不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore
忽略文件的原则是:

忽略操作系统自动生成的文件,比如缩略图等;
忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。
使用Windows的童鞋注意了,如果你在资源管理器里新建一个.gitignore文件,它会非常弱智地提示你必须输入文件名,但是在文本编辑器里“保存”或者“另存为”就可以把文件保存为.gitignore了。

配置别名
如果敲git st就表示git status那就简单多了,当然这种偷懒的办法我们是极力赞成的。
当然还有别的命令可以简写,很多人都用co表示checkout,ci表示commit,br表示branch:

//以后提交代码时co表示checkout
$ git config --global alias.co checkout
//以后提交代码时ci表示commit
$ git config --global alias.ci commit
//以后提交代码时br 表示branch
$ git config --global alias.br branch

当然如果你想配置其他的命令也是可以的.
参考链接:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000
记录下学习笔记,为了自己查阅方便,也为了不懂Git的童鞋能快速掌握Git版本控制工具!
如有不足之处请指正,谢谢!
看过的童鞋觉得不错请顺手点个赞!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章